iOS IMLib
iOS 端以 Swift + Objective-C 双接口交付:IMLib 为无 UI 通信库,覆盖连接、消息、会话、用户、好友、群组、聊天室、系统通知与文件上传 9 个能力域;IMKit 在其上提供 UIKit 组件。Swift 侧为 async -> RcResult<T>(不 throw),Objective-C 侧为 IMPOSClient + completion handler(RcResult *)。同一个 appkey 初始化返回同一实例,两种语言可混用同一进程内的客户端。
平台状态
契约 IDL v1.0.0(frozen,冻结修订 35);本平台绑定状态:ga。已按冻结 IDL 交付。
平台兼容性
| 项 | 值 |
|---|---|
| 系统版本 | iOS 13.0+(最低);iOS 14+ 推荐 |
| 架构 | 真机 arm64;模拟器 x86_64 / arm64 |
| 接口语言 | Swift 5.9+ 与 Objective-C(`IMPOSClient`,`IMP*` 符号) |
| 工具链 | Xcode 15+;CocoaPods 1.10+ 或 Swift Package Manager |
| 集成方式 | CocoaPods framework / CocoaPods IMKit 源码 / SPM / 手动 XCFramework |
| 包名 | `ImpIaaSIM`(IMLib) / `ImpIaaSIMKit`(IMKit) |
版本支持
| 版本 | 状态 | 说明 |
|---|---|---|
| 1.0.x(当前) | GA | 103 个语义操作 + 10 个 IMKit 组件;Swift + Objective-C 双接口 |
| 后续 1.x | additive-only | 只新增可选字段、枚举值与操作,不破坏既有语义 |
| 最低系统调整 | 按版本公告 | 上调前会在更新日志标注影响范围 |
集成步骤见 集成方式;工程权限与后台配置见 工程配置;升级见 升级与兼容。
事件:16 类(来自 IDL eventPayloads),详见 连接监听。
环境与制品
| 项 | 值 |
|---|---|
| 语言 / 运行时 | Swift 5.9 |
| 包 / 模块名 | ImpIaaSIM(Swift Package) |
| IMLib 制品 | Sources/ImpIaaSIM |
| IMKit 制品 | Sources/ImpIaaSIM/IMKit |
| 类型 / 契约声明 | api-surface.json |
| Demo / 示例 | — |
| 绑定状态 | ga |
API 风格
| 项 | 内容 |
|---|---|
| 客户端类 | IMPClient(聚合协议,继承 9 个能力域协议) |
| 工厂 / 初始化 | ImpIaaSIM.client(options: IMPClientOptions) -> IMPClient |
| 命名规则 | camelCase,方法名与语义 op 同名(camelCase 原样);init 由工厂 ImpIaaSIM.client(options:) 表达 |
| 异步风格 | async -> RcResult<T>(不 throw;错误码在 RcResult.code,返回 null 的 op 用 RcResult<Void>) |
| 事件 API | addEventListener(_ event: IMPEvent, listener: IMPEventListener) / removeEventListener(_ event:listener:) |
| 事件对象 | IMPEvent(16 值枚举)+ IMPEventPayload(16 分支载荷联合体) |
常量
| 常量 / 枚举 | 说明 |
|---|---|
IMPEvent | 绑定常量集(取值以绑定实现为准) |
IMPErrorCode | 绑定常量集(取值以绑定实现为准) |
IMPConversationType | 绑定常量集(取值以绑定实现为准) |
IMPConnectionStatus | 绑定常量集(取值以绑定实现为准) |
IMPNotificationLevel | 绑定常量集(取值以绑定实现为准) |
IMPContentType | 绑定常量集(取值以绑定实现为准) |
IMPDirection | 绑定常量集(取值以绑定实现为准) |
IMPGroupType | 绑定常量集(取值以绑定实现为准) |
IMPGroupRole | 绑定常量集(取值以绑定实现为准) |
IMPMentionType | 绑定常量集(取值以绑定实现为准) |
IMPFriendRequestStatus | 绑定常量集(取值以绑定实现为准) |
IMPThemeMode | 绑定常量集(取值以绑定实现为准) |
CONTENT_TYPE_COMBINE | 绑定常量集(取值以绑定实现为准) |
能力总览
| 能力域 | 操作数 | 功能页 |
|---|---|---|
| 连接与监听 | 7 | 建立连接、连接监听 |
| 消息 | 26 | 发送消息、接收消息、消息管理、已读回执、输入状态、消息进阶 |
| 会话 | 22 | 历史消息、会话列表、未读数、草稿、置顶与免打扰、会话标签与分组、会话删除与类型免打扰 |
| 用户 | 10 | 用户资料、在线状态、在线状态订阅与推送令牌 |
| 好友与黑名单 | 11 | 好友列表、好友请求、黑名单 |
| 群组 | 20 | 创建群组、群成员、群管理、超级群频道与用户组 |
| 聊天室 | 5 | 加入与退出、聊天室信息 |
| 系统通知 | 1 | 系统通知 |
| 文件上传 | 1 | 文件上传 |
共 103 个语义操作、9 个能力域、29 个功能页;方法名与签名逐项来自 sdk-bindings.json。
快速链接
- 快速开始:5 步完成接入
- 导入 SDK:依赖与制品说明
- 初始化:选项、工厂与幂等语义
- 功能列表:103 个操作分组表
- API 参考:类、枚举与成员签名
- 状态码:客户端与 SDK 错误码
- 更新日志:IDL 冻结修订历史