这是 Stream Chat(https://getstream.io/chat/sdk/ios/)的官方 iOS SDK,Stream Chat 是一个用于构建聊天和消息应用的服务的。这个库包括一个低级 SDK 和一套可重用的 UI 组件。
低级客户端 (LLC)
`StreamChat SDK` 是一个 Stream 聊天服务的低级客户端,它不包含任何 UI 组件。当您想构建一个完全自定义的 UI 时,建议使用此客户端。对于绝大多数情况下,我们建议使用我们高度可定制的 UI SDK。
UIKit SDK
`StreamChatUI SDK` 是我们的 UIKit 组件的 UI SDK。如果您的应用程序需要支持 iOS 13 及以下版本,这是您应该选择的 UI SDK。
SwiftUI SDK
`StreamChatSwiftUI SDK` 是我们的 SwiftUI 组件的 UI SDK。如果您的应用程序只需支持 iOS 14 及以上版本,这是您应该选择的 UI SDK。该 SDK 可在另一个仓库找到 stream-chat-swiftui。
iOS 16 和 Xcode 14 支持
自 4.20.0 版本发布以来,我们的 SDK 可以使用 Xcode 14 构建当前 iOS 16 上没有已知问题。如果您发现任何问题,请创建工单。
主要特点
- 离线支持:离线浏览频道和发送消息。
- 熟悉的行为:UI 元素是较好的平台公民,并像原生元素一样表现;尊重
tintColor
,layoutMargins
,浅色/深色模式,动态字体大小等。 - Swift 原生 API:使用 Swift 强大的语言特性,使 SDK 使用简单且类型安全。
- 使用
UIKit
模式和范式:API 遵循原生系统 SDK 的设计。它使与现有代码的集成变得简单且熟悉。 - 支持
SwiftUI
:我们开发了一个全新的 SDK,以帮助您在 SwiftUI 应用中实现更平滑的 Stream Chat 集成。 - 优先支持
Combine
:StreamChat SDK(低级客户端)提供了 Combine 封装,使在包含Combine
的应用程序中使用它变得非常容易。 - 完全开源实现:您可以在这里的 GitHub 上访问 SDK 的完整源代码。
- 支持 iOS 11+:我们自豪地支持较旧的 iOS 版本,因此您的应用程序可以对几乎所有人可用。
快速链接
- iOS/Swif 开发指南:通过我们的简单教程学习如何使用 SDK,使用 UIKit(或者 SwiftUI)。
- 注册:注册以获取 Stream Chat 的 API 密钥。
- 安装:了解如何使用 CocoaPods、SPM 或 Carthage 安装 SDK。
- 您想使用模块稳定 XCFrameworks 吗? 查看这里
- 文档:有广泛的文档可供参考以帮助您进行集成。
- SwiftUI:如果您使用SwiftUI进行开发,请检查我们的SwiftUI SDK。
- 演示应用:该库包含一个功能齐全的演示应用,其中包含SDK的示例用法。
- 示例应用:该库的这一部分包含了功能齐全的示例应用,您可以将其用作参考。
免费供制作者使用
Stream对于大多数侧面和业余项目都是免费的。如果您团队人数少于5人且月收入不超过10,000美元,则可以免费使用Stream Chat。
主要原则
-
渐进式披露:SDK可以很容易地使用,无需对该库有太多了解。随着您对其越来越熟悉,您可以深入了解,并开始从所有级别对其进行自定义。
-
高度可定制:每个元素都被设计成易于定制。您可以通过设置
tintColor
来修改品牌颜色,使用自定义UI规则应用外观变更,或者通过派生现有元素并将其注入系统中的各个部分来自定义它,无论逻辑层次有多深。 -
默认为
open
:除非有强烈的理由不这样做,否则一切都是open
的。这意味着您可以轻松修改SDK几乎每一个的行为,以使其满足您的需求。 -
好的平台公民:UI元素像好的平台公民一样行事。它们使用现有的iOS图案;它们的行为不可预测,匹配系统UI组件;它们尊重
tintColor
、layourMargins
、动态字体大小和其他系统定义的UI常量。
依赖
该SDK试图将外部依赖项列表保持最小。从4.6.0版本开始,为了提高开发者体验,依赖项被隐藏在我们的库中。(尚不适用于StreamChatSwiftUI的依赖项)。
了解我们依赖项的更多信息 点击这里
使用 Objective-C
如果你的项目使用 Objective-C,你仍然可以集成我们的 SDK。在这种情况下,任何自定义都需要通过 Swift 中的子类化我们的组件来完成,然后直接从 Objective-C 代码中使用它们。
我们在招聘
我们最近完成了一轮 $38 million Series B funding round,并持续增长。我们的 API 被超过十亿最终用户使用,你将有机会在世界上最强大的工程师团队中对产品产生巨大影响。查看我们当前的职位空缺,并通过 Stream 的网站 申请。
快速概览
频道列表
功能 | 预览 |
---|---|
与提供查询匹配的频道列表 | ![]() |
基于频道成员或自定义数据的频道名称和图片 | |
未读消息指示器 | |
最后一条消息的预览 | |
头像的在线指示器 | |
创建新频道并立即开始 | |
消息列表
功能 | 预览 |
---|---|
频道中的消息列表 | ![]() |
照片预览 | |
消息反应 | |
基于发送时间的消息分组 | |
链接预览 | |
内联回复 | |
消息线程 | |
支持GIPHY | |
消息编辑器
功能 | 预览 |
---|---|
支持多行文本,根据需要扩展和缩小 | ![]() |
图片和文件附件 | |
对消息进行回复 | |
用户用户标记 | |
静音、封禁、GIPHY等聊天命令 | |
聊天命令
功能 | 预览 |
---|---|
通过输入/符号或点击螺栓图标轻松搜索命令 | ![]() |
默认支持GIPHY | |
支持静音、取消静音、封禁、取消封禁命令 | |
自定义命令的WIP支持 | |
用户提及建议
功能 | 预览 |
---|---|
用户提及预览 | ![]() |
轻松搜索具体用户 | |
提及尽可能多的用户 | |