IM 即时通讯
Windows/macOS
产品介绍
简介
主要功能
产品优势
海外数据中心
IM平滑迁移方案
接口及业务限制
功能介绍
帐号集成与登录
基础消息功能
群组功能
聊天室功能
聊天室标签功能
圈组功能
多端登录与互踢策略
质量数据监控台
更新日志
Demo 更新日志
NIM SDK 更新日志
快速开始
实现单聊消息收发(不含 UI)
实现圈组消息收发(不含 UI)
开发指南
概要介绍
集成方式(当前版本)
集成方式(Windows旧版本)
集成方式(macOS旧版本)
初始化
登录登出
消息收发
最近会话
历史记录
用户资料托管
好友关系托管
事件订阅
系统通知
系统通知概述
内置系统通知管理
内置系统通知未读数
自定义系统通知收发
群组功能
群组概述
群组管理
群成员管理
群消息管理
超大群功能
开通聊天室功能
聊天室
圈组功能
初始化
登录圈组
圈组服务器管理
圈组服务器成员管理
游客功能
频道相关
频道管理
频道分组
频道分组黑白名单
频道未读数管理
搜索服务器和频道
身份组相关
身份组概述
身份组应用场景
服务器身份组
频道身份组
频道分组身份组
频道用户定制权限
自定义权限项
成员权限判定
身份组相关查询
圈组订阅机制
圈组消息相关
圈组消息收发
圈组消息撤回
圈组消息更新
圈组消息删除
会话消息回复(Thread)
圈组快捷评论
获取频道最后一条消息
消息正在输入
圈组消息搜索
圈组消息查询
服务器未读数
圈组系统通知
圈组系统通知概述
圈组系统通知收发
圈组系统通知更新
圈组各端接口命名差异
语音录制与播放
NOS云存储服务
文档转换
API 参考
Windows/macOS API 参考
状态码
IM 控制台指南
创建应用
注册 IM 账号
升级服务
配置应用客户端标识
参考文档
升级指引
开发示例
UI库指南
Demo源码导读
打包发布
类与常量定义说明
常见问题
FAQ
服务协议

macOS开发集成(旧版本)

更新时间: 2022/12/06 14:19:39

macOS NIM SDK 和 iOS NIM SDK 基于同一份代码开发,拥有和 iOS NIM SDK 几乎完全一致的功能,兼容 macOS 10.10,但仅支持 x86_64 架构,不支持 i386。

开发准备

macOS NIMSDK 目前仅提供手动集成方式

  • 根据工程需要,下载对应版本的 macOS NIM SDK,得到 NIMSDK.framework 并导入工程

  • 导入 Libs 中的依赖库

  • 添加其他 macOS NIM SDK 依赖库

    • CoreServices.framework
    • AVFoundation.framework
    • libc++.tbd
    • libsqlite3.0.tbd
    • libz.tbd
  • Build Settings -> Other Linker Flags 里,添加选项 -ObjC

  • 在需要使用 macOS NIM SDK 的地方 import <NIMSDK/NIMSDK.h>

SDK 使用

如上文所言,macOS NIM SDK 拥有 iOS NIM SDK 几乎完全一致的功能。对应功能集成和 API 使用可以参考 iOS 对应文档。

当然 macOS NIM SDK 和 iOS NIM SDK 仍有少量差异,主要体现在推送和部分类名上。

推送

对于 iOS NIM SDK 而言,推送是非常重要的部分。但对于 macOS NIM SDK 而言推送的地位则较为尴尬:macOS NIM SDK 已经提供完备的长连接实现,可以使用它作为任何通知的推送通道。所以在 macOS 平台上我们并不提供推送服务,相关的界面表现可以由上层自行处理。

类名

macOS NIM SDK 和 iOS NIM SDK 采取的是一份代码两个平台共用的策略,这意味着绝大部分代码都是跨平台的。然而仍有小部分实现必须针对具体平台提供对应的实现。为了处理这种情况同时保证 iOS NIM SDK 兼容性,我们使用 @compatibility_alias 对两个平台不同的类名做了处理,详情可以参考 NIMPlatform.h 这个头文件。

此文档是否对你有帮助?
有帮助
我要吐槽
  • 开发准备
  • SDK 使用
  • 推送
  • 类名