主题
晞晗IM macOS SDK
这是面向原生 macOS App 的独立产品入口。macOS 的安装、App Sandbox、窗口和 进程生命周期、文件权限、示例及验收都在本目录说明,不使用合并平台名称代替。
交付内容
| 内容 | macOS 用途 |
|---|---|
XHIM | Swift Facade、账号生命周期、消息、关系链、群组、媒体和离线读取 |
XHIMSwiftUI | 可选 SwiftUI 组件;AppKit 可用 NSHostingView 承载 |
XHIMCore.xcframework | 不公开源码的 C++ 内核,必须包含声明支持的 macOS 架构 |
PrivacyInfo.xcprivacy | SDK Privacy Manifest |
Examples/QuickStart.swift | 独立的 macOS 账号生命周期与首条消息示例 |
macOS SDK 内部与 iOS 复用 Swift Facade,但两个平台的包验收、权限和生命周期 是独立的。共享实现位于 platforms/apple,该目录只供 XHIM 维护和发行人员使用。
从哪里开始
- 空白工程:macOS 从零接入;
- 回调原型、参数和错误:macOS 回调式 API;
- 全部业务模块:SDK API Reference。
macOS 运行要求
- macOS 12 或更高版本;
- Swift 5.9 或更高版本;
- Production 使用 HTTPS/WSS;
- App Sandbox 开启时必须勾选
Outgoing Connections (Client); - 读取用户选择的附件应通过
NSOpenPanel/安全作用域 URL,不缓存永久文件权限; - 使用摄像头或麦克风时添加 macOS 对应用途说明。
macOS 生命周期
一个账号一个 XHIMClient,由 App 或账号 Session 容器持有,所有 Window 共享; 不能每开一个窗口创建一个 Core。最后一个窗口关闭不一定代表进程退出,不应因此 销毁 Client。账号退出调用 logout,App 终止或账号容器释放时调用 shutdown。睡眠唤醒和网络切换后可调用 notifyNetworkAvailable()。
可销售状态的验收边界
每个可售版本必须单独完成 macOS arm64、声明支持的 x86_64、App Sandbox、 多窗口、睡眠唤醒、文件安全作用域、网络切换、数据库升级、签名/公证和空白工程 消费验证。iOS 的构建或真机结果不能替代 macOS 验收。