IOS 接入环信SDK3.0时遇到的问题
来源:互联网 发布:C语言gets 编辑:程序博客网 时间:2024/06/12 00:51
附上官方文档链接:http://docs.easemob.com/doku.php?id=im:start
1.先直接根据官方文档集成SDK
2.根据官方文档导入依赖库的时候,dylib后缀没有的直接用tbd就可以(Xcode 7之后改为tbd).
如果报错:"_iconv", referenced from: _avcodec_decode_subtitle2 in libHyphenateFullSDK.a(utils.o),则另外要加入libiconv.tbd依赖库.
官方依赖库导入之后编译,此处编译会遇到的坑:
1).报重复引用静态库错误(没删官方两个静态库中的一个)
2).报与-all_load 冲突错误 根据文档改为-ObjC即可 如果改为-ObjC还有错 可按照文档改为 -force_load
注:项目如果用了友盟分享,改为-force_load之后 会与友盟有冲突,具体原因也不清楚,项目直接crash在分享新浪微博,此处求解惑. 改为-ObjC即可
到此步骤直到编译没错的时候就说明导入SDK 配环境成功.
3.环信官方提供了easeUI这个快速集成单聊界面,在集成easeUI之前建议不要用cocoapods来集成,因为会报一些莫名的错误.
集成easeUI:
1).将EaseUI工程下载下来之后,直接拖入EaseUI文件夹,EaseUIResource里面的Resource文件夹,export文件夹里的resource文件夹下的EaseUIResource.bundle 包,到工程中.
2).新建一个pch文件,设置好路径之后,在pch文件中添加引用:EaseUI-Prefix.pch 、ChatDemo-UI3.0-Prefix.pch 这两个pch中的代码.
此时编译会报一个 NSObject + EaseMob类别错误 (该类别是2.0demo中的,根本没有用) 可以选择注释,或者直接删除该类别.将该类别注释掉之后,如果报更多的错误,错误定在NSString或其他系统类上,在你新建的pch文件里,你所包含的头文件开始加上: #ifdef __OBJC__ 结尾处加上: #endif
此时编译如果还报错并且错误定在NSLocalizedString, 在你的pch文件里添上如下宏:
#define NSEaseLocalizedString(key, comment) [[NSBundle bundleWithURL:[[NSBundle mainBundle] URLForResource: @"EaseUIResource"withExtension: @"bundle"]] localizedStringForKey:(key) value: @"" table:nil]
3).下载官方提供的ChatDemo-3.0 拖入demo中3rdparty文件夹,因EaseUI本身集成了几个常用三方库,因此会与工程中你所用的重复,此时编译会报错.本身所包含的常用三方如下:MBProgressHUD、VoiceConvert、MJRefresh、SDWebImage. 如果有冲突,切记删除ChatDemo中的三方库,然后改掉相关报错的代码.
此时编译如果还报错,错误为Setting文件夹下的BackUp类,直接删除掉或注释即可,该类用处不大.
至此,编译成功则EaseUI的集成也完毕了.
环信的EaseUI其实只是做到一个展示的作用,包括一些控件的布局,排版都没有处理,因此我们可以直接用ChatDemo3.0中的ChatViewController这个界面,附上集成视频地址:http://v.youku.com/v_show/id_XMTQxOTgyNjU1Mg==.html?from=y1.2-1-87.3.6-2.1-1-1-5-0
环信支持非好友之间的聊天,你只要知道对方的环信id即可.
因为环信服务器不存储用户的头像和昵称,因此需要你与自己app的服务器交互,聊天界面的头像和昵称在如下方法中修改:
- (id)messageViewController:(EaseMessageViewController *)viewController
modelForMessage:(EMMessage *)message
出现问题 wav和EMVoiceConverter出现duplicate
把VoiceConvert文件夹下的添加进去就报了这些错 duplicate symbol _OBJC_CLASS_$_EMVoiceConverter in:
把 wav.h 和.m 去掉,这两个文件 工程中好像根本没用到,然后吧剩下的两个类的后缀改为.m 就OK了
- IOS 接入环信SDK3.0时遇到的问题
- iOS开发小记:初次接入环信SDK3.0时遇到的问题及解决办法汇总
- 微信支付接入遇到的问题
- 微信支付接入遇到的问题
- 对于接入微信分享遇到的问题总结
- APP接入微信支付步骤,及遇到的问题
- No.03 Xcode(7.x) 环信SDK3.0
- 接入支付宝时遇到的问题
- ShareSDK for Unity iOS平台接入遇到的问题
- ios集成环信遇到的相关问题整理
- SDK接入遇到的问题
- iOS接入微信支付问题
- 环信遇到的问题
- iOS 使用环信EaseUI3.0集成简单聊天遇到的问题!持续更新...
- android 微信 以及QQ的SDK接入分享功能遇到的些问题小结
- Android平台接入微信所遇到问题并且解决方法
- iOS客户端的微信支付接入
- iOS客户端的微信支付接入
- 使用shape画圆
- 从master-worker模型看团队管理
- 练习11——输入(python2.x与3.x input的区别)
- ROS的tf包中坐标变换的方法
- mysql 行转列
- IOS 接入环信SDK3.0时遇到的问题
- litepal studio的基本配置
- 感觉Android studio往genymotion中的sd卡写不进数据
- (数据类型)byte b1=3,b2=4,b; b=b1+b2; b=3+4; 哪句是编译失败的呢 ? 面试题
- SIM卡的ICCID、IMSI
- 网页浏览器知道我们的哪些信息?(1)
- 下丁字符号用MathType如何编辑出来
- Linux 学习
- 多线程还是多进程的选择及区别