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(当前)GA103 个语义操作 + 10 个 IMKit 组件;Swift + Objective-C 双接口
后续 1.xadditive-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>)
事件 APIaddEventListener(_ 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绑定常量集(取值以绑定实现为准)

能力总览​

共 103 个语义操作、9 个能力域、29 个功能页;方法名与签名逐项来自 sdk-bindings.json。

快速链接​

相关文档​