iOS IMKit 导入
本页说明 iOS 端 IMKit 的依赖与制品。IMKit -> IMLib(公开接口)only;IMKit 禁止 import 内部传输层/REST 实现/服务端类型。
安装 / 依赖
CocoaPods / SPM / XCFramework
# CocoaPods(推荐)
pod 'ImpIaaSIMKit', '~> 1.0'
# Swift Package Manager
# .package(url: "https://example.com/ImpIaaSIMKit.git", from: "1.0.0")
# 手动集成:把 ImpIaaSIMKit.xcframework 拖入工程 General → Frameworks 并选择 Embed & Sign环境要求
| 项 | 要求 |
|---|---|
| 依赖 | 必须先接入 ImpIaaSIM(IMLib);IMKit 只调用 IMLib 公开协议与模型 |
| 语言 | Swift 5.9+ 与 Objective-C 双接口(@objc 符号 IMP* 前缀) |
| 系统 | iOS 13+(async/await 需要);Xcode 15+ |
| 挂载 | IMKitFacade.mount(in: UIView);单个组件也可直接用 IMP* 视图类 |
| 约束 | 只依赖 IMLib 公开协议与模型,不得 import 传输层/存储实现 |
包内容
| 制品 | 路径 / 名称 | 说明 |
|---|---|---|
| IMKit 包 / 模块 | ImpIaaSIM(IMKit 子目录;实现阶段建议拆为独立 target ImpIaaSIMKit) | UI 组件层(只依赖 IMLib 公开接口) |
| 模块 / 制品路径 | Sources/ImpIaaSIM/IMKit | 随发行包提供的源码或制品路径 |
| 门面 | IMKitFacade | 挂载 / 更新 / 销毁入口 |
| 导出符号 | IMPConversationListView、IMPChatView、IMPMessageBubble、IMPMessageInput、IMPAvatar、IMPUnreadBadge、IMPTimeSeparator、IMPMessageStatusIndicator、IMPTheme、IMKitFacade | 10 个公开符号 |
依赖约束
- IMKit -> IMLib(公开接口)only;IMKit 禁止 import 内部传输层/REST 实现/服务端类型。
- IMKit 禁止 import 内部传输层 / REST 实现 / 服务端类型;契约校验器会静态扫描 import 面。
- 无 UI 的平台(Native C ABI)以实现 view-model / 格式化 / 角标 / 状态计算层交付,并提供可运行示例:
—。