1. 程式人生 > >環信 Ease3.0SDK 與EaseUI3.0 整合彙總 (卡殼的朋友們可以看看,已順利整合成功)

環信 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 成功!!!!