iOS 小米IM做单聊和群聊

为什么用小米即时云,因为免费!!!
小米官方demo下载 具体用法参考此demo
!具体配置文档说得比较详细,需在github的sdk目录下根据链接下载ffmpeg库并放到demo中,否则demo无法正常运行

由于小米没有配套UI,只能自己解决,于是我搜罗了几个比较不错的聊天UI 分享给大家!

OC_iOS一个完整的聊天UI框架LLchat

OC_高仿微信聊天XZ_WeChat

Swift 极光开源聊天UI

用Coredata 做聊天数据存储
Core Data相关

播放音频KVAudioStreamer - 基于AudioToolBox的开源音频流媒体播放器

播放视频ZFPlayer

所有需要的组件都齐全了,还差一根线把它们连接起来

  1. 什么时候登陆

只有登陆了,才能有收发消息的操作。
一般用用户ID为帐号注册登录,所以一旦用户在本应用登陆后获取唯一用户ID,就要进行小米IM登录操作。

  1. 保证App运行期间只要有用户ID,小米IM保持登陆状态

由一个单利类管理小米的登录和相关回调,详见小米示例demo,demo设计的是在登录后就注册相关的代理协议。先判断是否app是否登录,只有在app登录获取了用户ID
后才进行小米注册登录。

  1. 收消息回调应该放在哪里?

由于要一直存在,保证能即时收到消息,所以又得让AppDelegate类扛着了,同时把收到的消息用coredata存进本地数据库中的消息表和聊天列表

4.在聊天界面重新设代理,聊天界面消失时发通知去AppDelegate重新设代理

在当前界面回调接收消息,即时显示,这个代理设置了后,就会覆盖AppDelegate中的代理,AppDelegate虽然没释放,但是也不会重复执行里面的方法,所以在聊天界面消失时发通知到AppDelegate去重新设代理,使能够及时接收消息回调。

你可能感兴趣的:(iOS 小米IM做单聊和群聊)