注册

Ease3.0SDK 与EaseUI3.0 集成汇总 (卡壳的朋友们可以看看,已顺利集成成功)

这两天 因为公司项目要 集成环信SDK ,所以对环信SDK了解了点。从SDK 集成到 EaseUI 集成也是吃了很多苦头遇到很多问题。谨以此篇文章来总结一下,希望以后的朋友们少走些弯路。
  首先 ,SDK 集成 ,很多人集成用cocoapods 来集成。一开始 我也是用的Cocoapods.但是出了很多问题。捯饬了很长时间也没有弄出个所以然,所以果断放弃了。目前状况,建议朋友们不要用Cocoapods来集成 。
  在SDK 集成的时候 要注意这样几点:
      1、注意一下SDK 下的 lib文件夹 因为 里边有两个SDK 一个是有实时语音的 一个是没有实时语音的 。你用哪个就删掉另一个。
       2、 注意Build settings下的 bitcode 要设置为NO ,因为 暂时 环信SDK 不支持bitcode编码。
      3、注意Build settings 下的other linker flags 这里 如果你设置了-ObjC 就不要设置 文档里-force_load 路径
           关键是要注意other linker flags下的其他设置。我之前是因为 里边 cocoapods 加载了一个-all_load字段 我删除这个 ,就解决问题了 。我相信 有很多朋友 也有这个字段 删掉就可以了 。
总体来讲 SDK 集成 成功与否 ,只需要看这三点就够了。
  下面说下 EaseUI集成 。我按照视频走到建完.pch文件。发现出现了8个错误 。这里 我去3.0EaseUI Demo 里 搜了下 .pch文件 发现有两个 居然 然后 参考了一下 发现有很多错误 具体 怎么试的 就不说了 直接上代码吧 .pch代码如下 :
 
#import <Availability.h>




#ifndef __IPHONE_3_0

#warning "This project uses features only available in iOS SDK 3.0 and later."

#endif




#ifdef __OBJC__

#import <UIKit/UIKit.h>

#import <Foundation/Foundation.h>

#import "EMSDKFull.h"

#import "EaseUI.h"

#define NSEaseLocalizedString(key, comment) [[NSBundle bundleWithURL:[[NSBundle mainBundle] URLForResource:@"EaseUIResource" withExtension:@"bundle"]] localizedStringForKey:(key) value:@"" table:nil]

#define DEMO_CALL 1




#endif
以上就是 新建的PrefixHeader.pch中的代码 。
建完这个 你会发现 错误变成了一个。EaseMob 引用头文件not find  直接删掉这个头文件引用 。你会发现 又有了一个新的错误 NSObject +EaseMob 这个类中 出现了N个错误 。这里 不管它  直接删掉这个类 这个类是P作用都没有的 (我是挨个对比3.0Demo 的类 才发现 Demo 中 根本没有这个类)
做完了这步  。运行 ,恭喜你 集成环信3.0SDK,环信EaseUI 成功!!!! 
 

6 个评论

赞一个!
太棒了
支持!
我的解决方法是直接用easeUI中的pch文件,不要自己新建。然后就 解决了
这里补充说明一下:因为 有的开发者 项目中可能会有MBProgressHUD 等第三方库 因为EaseUI 内部也使用了几个比较常用的第三方 。所以 开发者 删掉其中之一就可以了。EaseUI 集成视频 中也提及了这点 大家也可以去参考视频中的做法
easeSDK和easeUI 都用cocoapods就完美了。我那天集成easeUI各种报错,改天再试试

要回复文章请先登录注册