美文网首页IOSiOSerIOS
环信demo3的集成问题

环信demo3的集成问题

作者: mark666 | 来源:发表于2015-12-04 21:31 被阅读4711次

由于项目中需要聊天功能,所以最近几天研究了环信demo的集成,在集成过程中遇到了N多个BUG,集成过程及其的艰辛,因为环信聊天毕竟是一个很大的框架,在集成过程中出现重复编译在所难免,通过自己的努力并且咨询了环信的技术客服,终于集成成功,现在分享一下自己的集成步骤。

  • 首先是导入环信的sdk,编译,这个过程的困难不是很多,简单提一下,首先下载好EaseMobSDK,这里注意一点的是,lib静态库中包括EaseMobClientSDKLiteEaseMobClientSDK这两种,如果你需要实时语音的话选择EaseMobClientSDK,否则选择EaseMobClientSDKLite,两者只能导入一个。
  • 其次添加需要的静态库
    MobileCoreServices.framework
    CFNetwork.framework
    ibsqlite3.dylib
    libstdc++.6.0.9.dylib
    libz.dylib
    libiconv.dylib
    libresolv.dylib
    libxml2.dylib
(如果使用的是xcode7,后缀为tbd)
  • 最后向Build Settings → Linking → Other Linker Flags 中 添加-ObjC(注意大小写)

以上过程基本不会出现问题,在运行编译都能通过。
主要是环信UI的集成过程中会出现很多问题,官方也没有具体说如何导入,只是简略说一下参照demo,然后就开始将自定义过程,现在我将这个过程写一遍,大家仔细看好。


将这三个文件夹拖入项目中
可能会出现以下错误
  • 1、


    错误一

这个报错就是导入SDK是将EaseMobClientSDKLiteEaseMobClientSDK这两个静态库重复导入,删除不需要的即可。(如果上面已经删除过,忽略错误一)

  • 2、
错误二

了解这个错误首先要知道环信静态库lib,包含连个静态库libEaseMobClientSDK.alibEaseMobClientSDKLite.alibEaseMobClientSDKLite.a不包含实时语音功能,libEaseMobClientSDK.a包含所有功能。如果你的app中不需要实时语音功能,删掉libEaseMobClientSDK.a只使用libEaseMobClientSDKLite.a即可,需要实时音视频功能同理,删掉libEaseMobClientSDKLite.a即可。
-ObjC是配合libEaseMobClientSDK.a使用的,-force_load加静态库路径是配合libEaseMobClientSDKLite.a使用的,所以-force_load所加静态库路径是libEaseMobClientSDKLite.a的路径,不要混淆。
其次还有要导入FixFopen.c
地址如下:

FixFopen.c
  • 3、
    当你导入FixFopen.c时可能出现错误三
错误三

出现这个错误是你在导入

导入的文件

在导入上述文件的的时候没有添加所需要的依赖库,出现错误三只需要添加以下缺失的库文件:


依赖库
  • 4、

导入EaseUI时,需要配置pch文件,如果你项目中本身带有pch文件,将所需要的头文件导入你的项目中即可,但是导入可能会出现错误,如下(错误四)

pch 错误四

只需加上#ifdef __OBJC__
#endif条件即可。

还有在运行环信的过程中,会出现警告Warning!ivar size mismatch in PSUICollectionView_ - cannot change the superclass,其实这个警告是无任何影响的,解决办法非常简单,将PSTCollectionView.mchar filler[200] 替换成char filler[300]即可。

最后提醒大家一点的是,在你导入的文件中可能会重复导入了某个第三方库,删除即可,如果与项目中冲突删除即可。此外对于使用第三方库管理cocopods所出现的错误还没有研究过,后期会更新。。。

以上是快速集成环信SDK和UI出现错误的一些总结,再此感谢环信客服1019的帮助,对于环信具体的使用,参照官方demo即可,后期我也会继续更新环信的具体使用,希望大家能够提出宝贵意见,以便完善环信的使用,让更多新手能够快速集成环信到自己的项目中...

相关文章

网友评论

  • 若小北00:客服和聊天可以同时集成么
  • GodLoveNan:大神,能给demo么?我要集成3.0,只要他的消息发送就好
    mark666:@GodLoveNan 用官方的啊,把它不用的功能屏蔽掉,或者你就集成单聊界面,很简单的
  • qazws:楼主实现聊天功能了吗?可否留个demo?
    mark666:@sp5 聊天功能集成非常方便,最好的demo就是官方的提供的,逻辑处理非常详细
  • BlueEagleBoy:我UI集成成功了 但是怎么使用不懂
    mark666: @BlueEagleBoy 这个最简单直接的办法就是看官方demo.
  • mark666:我写的这篇文章已经是上一个版本的集成,当前环信发布了新的版本,你可以参照一下它官方的文档,特别详细
    一方自在:@未完成 追问你的解决了吗?我用cocopods导入的UI,结果也是找不到文件
    未完成1307:@mark666 楼主,没有关于新版本的啊?我新版本才导入SDK,啥都没做,就会报错说找不到文件
  • BlueEagleBoy:UI还是没集成成功啊
  • 雨晨子龙:easeui demo太糟糕了。搞的头都大了。
    mark666: @雨晨子龙 他只是一个参照,你可以根据需求来着自己的聊天界面
  • imGeek:哈哈,看来环信easeui集成文档确实不够详细呀,走了很多弯路,方便留个联系方式交流下吗?
    macfai:环信的文档写的太粗糙了,今天用了最新版本的3.1,sdk倒是没有报错,就是之后的集成也说的太简单了,根本不够详细
    BlueEagleBoy:集成成功了没
    mark666:@喵喵i 我也在摸索中,你有困惑得地方可以留言,这样大家都可以看到

本文标题:环信demo3的集成问题

本文链接:https://www.haomeiwen.com/subject/hfushttx.html