之前写过这篇文章,但是写的太糙.对大家的开发并没有什么大的帮助!今天来看了下点击量,竟然有一千多访问量.实在惭愧.最近关于网易云信即时通讯的接入也算告一段落.可能还有很多bug需要处理.许多功能需要增加.到时候再更.今天,抽空重新编辑了这篇文章.扒一扒到目前为止,我使用网易云信接入中,遇到的一些问题.整理肯定不完善,希望大家只做参考,有好的建议及时交流沟通! 大家也可以加入技术交流群:234713941.一起探讨!本人也小白一枚!还望各位大佬多多指教!
项目中暂时使用到的功能:
1.网易云信接入
2.单聊.
3.最近联系人列表实现.
4.历史记录消息查询.及本地历史消息清除.
5. 自定义消息发送功能.(具体自定义消息功能实现可参考这篇文章).
1.首先我们先说接入网易云信.
关于网易云信接入,后期才发现.NIMKit(官方提供的UI组件,可拓展)其中包含了NIMSDK.所以如果你还没接入网易云信,同时需要用到它的NIMKit,你可以直接cocoapods "NIMKit"即可.
同时需要注意到项目中本来存在的几个第三方类:
- SDWebImage v3.8.2
- Toast v3.0
- SVProgressHUD v2.0.3
- M80AttributedLabel v1.6.3
- TZImagePickerController v1.7.7
做好更新替换,以免集成失败!
鉴于NIMKit集成方便,利于拓展,强烈建议大家直接集成NIMKit.
2.单聊功能实现:
首先,我们创建一个类SLSessionViewController 继承 NIMSessionViewController(子类继承父类,同时继承了父类的所有属性和方法,并对父类进行拓展,以此完成我们的需求).
实现单聊中,需要注意打开app的安全权限,以便app被允许访问相册、相机、位置等信息.
在info.plist文件中添加:
1.相册 NSPhotoLibraryUsageDescription 是否允许此app使用相册?
2.相机 NSCameraUsageDescription 是否允许此app使用相机?
3.麦克风 NSMicrophoneUsageDescription 是否允许此app使用
4.位置 NSLocationUsageDescription 是否允许此app使用位置?
5.使用时访问位置 NSLocationWhenInUseUsageDescription 是否允许此app在使用期间访问位置
6.始终访问位置 NSLocationAlwaysUsageDescription 是否允许此app始终访问位置?
3.最近消息列表
创建类继承与NIMSessionListViewController.并对类进行拓展.
4.实现本地历史消息清除及云端历史消息获取请参考这篇文章