环信demo3的集成问题

由于项目中需要聊天功能,所以最近几天研究了环信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即可,后期我也会继续更新环信的具体使用,希望大家能够提出宝贵意见,以便完善环信的使用,让更多新手能够快速集成环信到自己的项目中...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,816评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,067评论 19 139
  • 昨夜依稀梦前世, 杳杳林中一缕风。 逍遥自在无人管, 自由穿梭乐无穷。 春雨润花隐暗香, 夏凉弄柳意绵长。 秋雁声...
    繁花落尽深眸阅读 479评论 17 9
  • 一、诚信原则 合伙赚钱,诚意当先,以诚相待。不要去管你的伙伴怎么对你! 自己先做自己!! 二、目标原则 求大同...
    相逢一笑307阅读 201评论 0 0
  • 爱情,是这个世界上最致命的毒药。 ————题记 [00序言] “我的出生,就是世界的开始。我的死亡,就是世界末日。...
    Tiamo佳期如梦阅读 652评论 0 1