天天看點

手把手教你內建環信3.0及時通訊

  • 吐槽一下

    一開始要內建環信客服這個功能,去環信官網找所謂的開發文檔,翻了半天沒找到一個完整的流程,就比如看到下一步讓你跳轉到他們技術人員自己寫的demo上,沒看到步驟流程還安慰自己有demo看也行。

    下載下傳完demo想看看效果,誰知道你官網上面貼的demo是滿滿的crash啊!!!找你們技術人員重新要了一份demo,又來跟我說按照官網流程去配置工程,然後又crash了。。。。。參照了demo是了2.0的SDK也crash 了,又換成3.0 SDK,總之折騰了很久啊,完全就是吐槽環信沒有一個完整的開發文檔,過程詳細一點啊!!讓你看我寫的demo就可以做出完整的即時通訊??僅此記錄一下自己內建的demo過程出現的crash和解決辦法

  • demo過程

    1.首先去下載下傳一個最新版的環信SDK3.0(補充一下,想做移動客服的不要被他忽悠了,一樣要下載下傳IM 3.x的SDK,我就是在這裡被坑了好多時間啊!!)

    下好的SDK裡面包含一個chatDemo,一個…貼圖算了

    手把手教你內建環信3.0及時通訊
    2.準備好先把SDK拖入自己的工程路徑下,然後開始去build phases 裡面配置依賴庫,挖個坑讓你去參照官網開發文檔的依賴庫一次添加,添加完編譯一下,可能會出問題,可能會通過,不通過肯定是這樣的哈哈哈哈
               
    手把手教你內建環信3.0及時通訊

我管你通不通過,按照這張圖添加保證你接下來不會報依賴庫的錯,

手把手教你內建環信3.0及時通訊

3.這個過了後開始參照官網在APPDelegate.m;裡面初始化一下

//AppKey:注冊的AppKey,詳細見下面注釋。
    //apnsCertName:推送證書名(不需要加字尾),詳細見下面注釋。

    EMOptions *options = [EMOptions optionsWithAppkey:@"easemob-demo#chatdemoui"];
    options.apnsCertName = @"istore_dev";
    [[EMClient sharedClient] initializeSDKWithOptions:options];

    EMError *error = [[EMClient sharedClient] registerWithUsername:@"easeuidemo" password:@"1"];
    if (error==nil) {
        NSLog(@"注冊成功");
    }
    EMError *error1 = [[EMClient sharedClient] loginWithUsername:@"easeuidemo" password:@"1"];
    if (!error1) {
        NSLog(@"登入成功");
    }
           

4.代碼添加完編譯一下,發現沒有提示登入成功???

手把手教你內建環信3.0及時通訊

然後去info.plist檔案厘面修改

手把手教你內建環信3.0及時通訊

添加App Transport Security Settings下得allow arbitrary…設定為YES,編譯通過背景列印登入成功。

好的先恭喜你走了一半

這裡好像漏了一步,建立一個PCH檔案(這個不會自己百度去了),然後在pch檔案裡面導入#import “EMSDK.h”這個頭檔案!!!!這樣上面初始化什麼的才可以通過,哈哈哈哈 這是我挖的坑。

5.添加聊天頁面了,通過某一個按鈕點選跳轉到聊天頁面,方法自己定義,我來講步驟::::

把前面下載下傳的EaseUI拖到自己的工程,凡是拖入的 記得勾選上第一個選項,然後在pch檔案導入#import “EaseUI.h”的頭檔案,在按鈕跳轉的方法的控制器裡面添加#import “EaseMessageViewController.h”這個頭檔案(這個是生成聊天頁面的),然後在跳轉方法裡建立跳轉

//填對方的ID
    EaseMessageViewController *chatVC = [[EaseMessageViewController alloc]initWithConversationChatter:@"easeuidemo2" conversationType:EMConversationTypeChat];
    chatVC.title = @"easeuidemo2";
    [self.navigationController pushViewController:chatVC animated:YES];
           

補充一下:要是做移動客服的,這裡的ID填寫的就是客服号,一開始注冊的是綁定的IM号,這樣就可以實作對接客服了。

編譯一下crash了,應該是這樣的

手把手教你內建環信3.0及時通訊

這原因什麼的我也沒百度解釋出來,我知道這麼做:去pch檔案裡 在最上面和最底部添加上 #ifdef OBJC 和 #endif

手把手教你內建環信3.0及時通訊

在編譯,通過了哈哈哈

點選跳轉可以了,頁面有了,好興奮啊,這上面是一點一點總結出來的啊!!!!

但是!!!點選表情圖示又crash了,好從新來了,回到上面下載下傳的SDK,找到chatDemo裡面的chatView,把chatView這個檔案夾拖到自己的工程,回到跳轉的那個頁面,導入chatViewController.h,把EaseMessageViewController 換成chatViewController,再運作,頁面出來了,表情也有了,還有一個兔斯基表情也送你了,回到下載下傳的壓縮包,找到Resources檔案下的emotion檔案,别問那麼多,拖到你的工程,再運作。

ok,一個完整的單聊頁面出來了。整篇文章就是吐槽環信官網沒有一個這麼簡單粗暴易懂的的流程文檔啊,希望下次别入坑了,以上内容不敢保證不出其他問題,如果有,那一定是忘記了哪個細節。

最後補充一下參考視訊:

2.x和3.x對比導入的視訊: http://community.easemob.com/video/23