StreamChatCore 2.6.9

StreamChatCore 2.6.9

Tommaso Barbugli维护。



 
依赖于
StreamChatClient= 2.6.9
RxSwift~> 5.1
RxCocoa~> 5.1
 

Stream Chat 的官方 iOS/macOS SDK

StreamChatClient StreamChatCore StreamChat
Cocoapods Carthage compatibleSwift Package Manager compatibleClient Documentation Cocoapods Carthage compatibleSwift Package Manager compatibleCore Documentation Cocoapods Carthage compatibleSwift Package Manager compatibleUI Documentation

stream-chat-swift 是 Stream Chat 的官方 iOS SDK,Stream Chat 是构建聊天和消息应用的服务。此 SDK 也通过 Mac Catalyst 支持 macOS。

快速链接

Swift/iOS 聊天教程

开始的最佳地点是 iOS Swift 聊天教程。它教您如何使用此 SDK,并展示如何进行常见修改。

示例应用

此代码库包括一个功能齐全的示例应用及其设置说明。可在 示例 文件夹下找到。

文档

您通常希望首先使用UI组件,并根据需要使用Swift Chat API来实现组件。

需求

  • iOS 11+/macOS 10.15+
  • Xcode 11.2+
  • Swift 5.2
  • CocoaPods 1.7+
  • Carthage 0.33.0+

Mac Catalyst

我们的框架兼容Mac Catalyst,这意味着您可以创建同时在iOS和macOS上运行的聊天应用程序。更多信息请在此处阅读。

⚠️Carthage目前不支持Mac Catalyst。(引用

安装

Stream Chat SDK由三个框架组成:StreamChatStreamChatCoreStreamChatClient

  • StreamChatClient - 连接到StreamChat后端并与之通信的低级库。
  • StreamChatCore — 在StreamChatClient的基础上构建,包括模型、表示和通知管理器。此外,它还支持RxSwift进行响应式编程。
  • StreamChat — 在Core的基础上构建,是完整的SDK库,包含所有UI组件。无需额外操作即可支持样式和深度自定义。

CocoaPods

要使用CocoaPods将StreamChat集成到您的Xcode项目中,请将以下条目添加到您的Podfile

pod 'StreamChat', '~> 2.0'

然后运行pod install

如果您只想使用StreamChatCoreStreamChatClient,您可以添加此条目到您的Podfile

pod 'StreamChatCore', '~> 2.0'
# or
pod 'StreamChatClient', '~> 2.0'

在您想使用Stream Chat的任何文件中,别忘了导入框架

import StreamChat

或者如果您正在与底层客户端或Core一起工作

import StreamChatCore
// or
import StreamChatClient

Carthage

要将Stream Chat集成到您的 Xcode 项目中使用 Carthage,请在您的 Cartfile 中指定它。

github "GetStream/stream-chat-swift" ~> 2.0

然后运行:carthage update --platform iOS --new-resolver。它会将以下框架构建为:StreamChatClient.frameworkStreamChatCore.frameworkStreamChat.framework,存放在 <您的项目路径>/Carthage/Build/iOS/,您可以从那里将其添加到您的项目中,并将其链接到您的应用程序目标。按照以下步骤操作:

  • 打开您的 Xcode 项目。

  • 在导航器中选择项目。

  • 选择您的应用程序目标。

  • 打开 General 面板。

  • 在 Finder 中打开 <您的项目路径>/Carthage/Build/iOS/ 并找到 StreamChatClient.framework,将其拖入 Xcode 中 Frameworks, Libraries, and Embedded Content 区域。如果需要 UI 组件,请重复此操作以添加 StreamChatCore.frameworkStreamChat.framework

  • 在添加库后,在 "Embed" 部分选择 "Do Not Embed" 选项。(位于添加库后库名称的右侧)

  • 在 Xcode 中打开 Build Phases 面板。

  • 单击 + 按钮并选择 New Run Script Phase

  • 将内容设置为:/usr/local/bin/carthage copy-frameworks

  • 添加到 Input Files

    • $(SRCROOT)/Carthage/Build/iOS/StreamChatClient.framework

    • $(SRCROOT)/Carthage/Build/iOS/Starscream.framework

    • 如果需要 Core 库

      • $(SRCROOT)/Carthage/Build/iOS/StreamChatCore.framework
      • $(SRCROOT)/Carthage/Build/iOS/RxSwift.framework
      • $(SRCROOT)/Carthage/Build/iOS/RxCocoa.framework
      • $(SRCROOT)/Carthage/Build/iOS/RxRelay.framework
    • 如果需要 UI 组件

      • $(SRCROOT)/Carthage/Build/iOS/StreamChat.framework
      • $(SRCROOT)/Carthage/Build/iOS/Nuke.framework
      • $(SRCROOT)/Carthage/Build/iOS/SnapKit.framework
      • $(SRCROOT)/Carthage/Build/iOS/SwiftyGif.framework
      • $(SRCROOT)/Carthage/Build/iOS/RxGesture.framework
  • 添加到 Output Files

    • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/StreamChatClient.framework

    • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Starscream.framework

    • 如果需要 Core 库

      • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/StreamChatCore.framework
      • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxSwift.framework
      • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxCocoa.framework
      • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxRelay.framework
    • 如果需要 UI 组件

      • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/StreamChat.framework ()
      • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Nuke.framework
      • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SnapKit.framework
      • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SwiftyGif.framework
      • $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/RxGesture.framework

现在您可以构建应用程序并使用 StreamChat

Swift Package Manager

您可以直接使用仓库 URL 或在 Xcode 11+ 中,在您的 Package.swift 文件中将其添加到 dependencies

.package(url: "https://github.com/GetStream/stream-chat-swift.git", from: "2.3.0"),

支持的功能

  • 群聊
  • 频道列表
  • 反应
  • 丰富链接预览(例如open graph)
  • 附件(图像、视频和文件)
  • 命令(例如 /giphy
  • 编辑消息
  • 输入事件
  • 阅读事件
  • 线程
  • 通知
  • 在内部浏览器中打开链接
  • 图片库
  • GIF支持
  • 浅色/深色主题
  • 样式定制
  • UI自定义