GithubHelp home page GithubHelp logo

dustinburge / stream-chat-swift Goto Github PK

View Code? Open in Web Editor NEW

This project forked from getstream/stream-chat-swift

0.0 0.0 0.0 9.28 MB

Official iOS SDK for Stream Chat

Home Page: https://getstream.io/chat

License: Other

Swift 99.41% Ruby 0.39% Objective-C 0.21%

stream-chat-swift's Introduction

Official iOS SDK for Stream Chat

Stream Chat

Language: Swift 5.0 Carthage compatible

StreamChatCore Cocoapods Core Documentation

StreamChat Cocoapods UI Documentation

stream-chat-swift is the official iOS SDK for Stream Chat, a service for building chat and messaging applications.

Quick Links

Swift/iOS Chat Tutorial

The best place to start is the iOS Swift Chat Tutorial. It teaches you how to use this SDK and also shows how to make common changes.

Example App

This repo includes a fully functional example app. You can run the example app by following these steps:

  1. Make sure you have Xcode 11 installed and that it has latest components installed (open Xcode and install any pending update)
  2. Download the StreamChat repo: git clone [email protected]:GetStream/stream-chat-swift.git
  3. Change the directory: cd stream-chat-swift/Example/Cocoapods
  4. Install the Cocoapods: sudo gem install cocoapods
  5. Install dependencies: pod install --repo-update

Analyzing dependencies
Downloading dependencies
Installing GzipSwift (5.0.0)
Installing Nuke (8.2.0)
Installing ReachabilitySwift (4.3.1)
Installing RxAppState (1.6.0)
Installing RxCocoa (5.0.1)
Installing RxGesture (3.0.1)
Installing RxRelay (5.0.1)
Installing RxSwift (5.0.1)
Installing SnapKit (5.0.1)
Installing Starscream (3.1.1)
Installing StreamChat (1.5.4)
Installing StreamChatCore (1.5.4)
Installing SwiftyGif (5.1.1)
Generating Pods project
Integrating client project
Pod installation complete! There are 2 dependencies from the Podfile and 13 total pods installed.

  1. Open the project: open ChatExample.xcworkspace
  2. Select ChatExample as an active scheme (if needed):

  1. Click build and run.

Docs

You'll typically want to start out using the UI components, and implement your own components using the Swift Chat API as needed.

Requirements

  • iOS 11+
  • Xcode 11.2+
  • Swift 5.1
  • CocoaPods 1.7+
  • Carthage 0.33.0+

Installation

Stream Chat SDK consists of two frameworks: StreamChat and StreamChatCore

  • StreamChat โ€” the full SDK library with all UI components. Styling and deep customizations are all supported out of the box.
  • StreamChatCore โ€” low-level library to use Stream Chat APIs. It includes models, presenters, notification manager and HTTP interface.

CocoaPods

To integrate StreamChat into your Xcode project using CocoaPods, add this entry in your Podfile:

pod 'StreamChat'

Then run pod install.

If you want to use only StreamChatCore, you can add this entry in your Podfile:

pod 'StreamChatCore'

In any file you'd like to use Stream Chat in, don't forget to import the frameworks:

import StreamChat

or StreamChatCore if you are working with the low-level client:

import StreamChatCore

Carthage

To integrate Stream Chat into your Xcode project using Carthage, specify it in your Cartfile:

github "GetStream/stream-chat-swift"

Then run: carthage update --platform iOS --new-resolver. This will build frameworks: StreamChatCore.framework and StreamChat.framework into <Path to your Project>/Carthage/Build/iOS/ from where you can add them to your project and link them with your app target. Follow with these steps:

  • Open your Xcode project
  • Select the project in the Navigator
  • Select your app target
  • Open General panel
  • Click the + button in the Linked Franeworks and Libraries section
  • Click the Add Other... and add StreamChatCore.framework in <Path to your Project>/Carthage/Build/iOS/
  • Add StreamChat.framework if you need UI components
  • Open Build Phases panel
  • Click the + button and select New Run Script Phase
  • Set the content to: /usr/local/bin/carthage copy-frameworks
  • Add to Input Files:
    • $(SRCROOT)/Carthage/Build/iOS/StreamChatCore.framework
    • $(SRCROOT)/Carthage/Build/iOS/StreamChat.framework
  • Add to Output Files:
    • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/StreamChatCore.framework
    • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/StreamChat.framework

Now build your app.

Supported features

  • Group chat
  • Channel list
  • Reactions
  • Rich link preview (e.g. open graph)
  • Attachments (images, videos and files)
  • Commands (e.g. /giphy)
  • Editing messages
  • Typing events
  • Read events
  • Threads
  • Notifications
  • Opening a link in the internal browser
  • Image gallery
  • GIF support
  • Light/Dark theme
  • Style customization
  • UI customization

stream-chat-swift's People

Contributors

ajself avatar buh avatar mpodeszwa avatar nlash-livly avatar sukov avatar tbarbugli avatar tilton avatar tschellenbach avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.