環(huán)信(iOS_IM_SDK_3.2.0)單聊集成

<b>閑來無事牵敷,試了一發(fā)環(huán)信胡岔,目前主要寫了登錄、注冊枷餐、好友(添加靶瘸、刪除、獲取)及好友單聊毛肋。本文章主要簡單的講解下環(huán)信單聊集成怨咪。后續(xù)有時間再做其他功能。</b>


先看效果吧润匙,這gif是我錄制的模擬器诗眨,手機的界面沒有錄制≡谢洌【watering222】是我手機登錄的用戶在配合演示匠楚。

gif.gif

下面簡單講解下步驟(我按照我自己的集成步驟講解,僅僅做參考):

1卫病、環(huán)信官網(wǎng)注冊應(yīng)用獲取AppKey油啤。
2典徘、環(huán)信官網(wǎng)下載SDK蟀苛,我下載的是最新的SDK。
3逮诲、配置工程帜平,這一步有些地方需要注意(導(dǎo)入依賴庫我就不提了,對著導(dǎo)入就可以了)梅鹦。

  • 3.1 創(chuàng)建.pch文件,方便使用裆甩。在Build Phases 中配置好.pch。別到時候找不到.pch齐唆。
  • 3.2 把HyphenateFullSDK(以包含語音SDK為例)拉到工程中嗤栓,記得勾上copy,然后就是在之前創(chuàng)建好的pch文件中添加** #import "EMSDK.h"**,此時應(yīng)該會報錯(如圖1.0),解決方案(如圖2.0)茉帅。在AppDelegate.m中注冊(※注意:登錄注冊也得完成叨叙,很簡單,看看就知道堪澎,我就不寫了※)擂错。如下代碼:
1.0.png

2.0.png

AppDelegate.m中注冊AppKey

//1、AppKey:注冊的AppKey
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{
   EMOptions *options = [EMOptions optionsWithAppkey:AppKey];
   options.apnsCertName = nil;// 沒有證書暫時設(shè)置為nil
   [[EMClient sharedClient] initializeSDKWithOptions:options];
}
  • 3.3 從下載的SDK文件夾找到EaseUI(如圖3.0)樱蛤,然后拉到工程中钮呀,此時編譯會報很多錯,別急昨凡,現(xiàn)在先在pch文件中添加** #import "EaseUI.h"爽醋,此時你會發(fā)現(xiàn)------還是沒卵用,哈哈~~~??。然后就解決唄便脊,在工程左側(cè)找到它(如圖4.0)內(nèi)部代碼(如圖5.0)子房,把紅色圈里面的#ifdef __OBJC__#endif拷貝到之前自己創(chuàng)建的pch文件中(如下代碼片段),這個很關(guān)鍵的**
    3.0.png

4.0.png

5.0.png

// 就是這個
#ifdef __OBJC__

#ifndef PrefixHeader_pch
#define PrefixHeader_pch

#import "EMSDK.h"
#import "EaseUI.h"

#ifdef DEBUG
# define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
# define DLog(...)
#endif

#endif /* PrefixHeader_pch */

// 和這個
#endif

4就轧、此時基本配置完成了证杭,然后就是調(diào)用了。在你需要的控制器添加#import "EaseMessageViewController.h"使用

- (IBAction)push:(id)sender {
    
    EaseMessageViewController *ease = [[EaseMessageViewController alloc] initWithConversationChatter:@"watering6" conversationType:EMConversationTypeChat];
    [self.navigationController pushViewController:ease animated:YES];
}
  • 4.1此時就可以發(fā)送消息了妒御,但是當(dāng)你點擊表情按鈕的時候解愤,會程序崩潰掉(如圖6.0)。


    6.0.png

既然這樣就換一種方法解決它乎莉,<解決方案>:在下載的SDK中按順序(1)ChatDemo-UI3.0 -->(2)ChatDemo-UI3.0-->(3)Class-->(4)Chat找到Chat文件夾后送讲,把Chat文件夾拉到工程中。替換掉之前的方法惋啃,如下(為什么要換成ChatViewController來解決問題哼鬓,是因為基本表情的處理都在此類中,而現(xiàn)在只是集成單聊):

- (IBAction)push:(id)sender {
    
    ChatViewController *ease = [[ChatViewController alloc] initWithConversationChatter:@"watering6" conversationType:EMConversationTypeChat];
    [self.navigationController pushViewController:ease animated:YES];
    
//    EaseMessageViewController *ease = [[EaseMessageViewController alloc] initWithConversationChatter:@"watering6" conversationType:EMConversationTypeChat];
//    [self.navigationController pushViewController:ease animated:YES];
}

此時編譯你會發(fā)現(xiàn)在剛剛拉進來的Chat中的ChatViewController.m中報好多錯边灭。<解決方案>:把ChatViewController.m中所有的報錯全注釋掉就好了异希。哈哈,這好像不是什么解決方案绒瘦,那些報錯的代碼称簿,是因為寫的其它功能,反正我們只需要單聊惰帽,把其它先注釋憨降,如果你以后需要其它功能你再研究一發(fā)。反正現(xiàn)在全注釋掉就好了该酗。此時基本完成了授药,是基本完成哦,后面還有問題要解決的。

  • 4.2跑起來吧騷年悔叽,看看還有什么問題航邢,當(dāng)你在點點點時,那么問題就來了骄蝇,你會發(fā)現(xiàn)兔基斯的表情包沒有對吧膳殷?<解決方案>:還是找到下載的SDK(1)ChatDemo-UI3.0 -->(2)ChatDemo-UI3.0-->(3)Resources-->(4)emotion把emotion文件夾拉到你的工程中。然后編譯沒問題九火,跑起來兔基斯就會出來了赚窃。

  • 4.3基本該有的都有了,然后試試其他功能岔激,圖片勒极,拍照,錄音虑鼎,定位辱匿。TMD程序又閃退了。我當(dāng)時一直不明白是為什么炫彩,查了好久匾七。突然我想起來我特么升級xcode8了!江兢!這應(yīng)該是權(quán)限問題昨忆,當(dāng)時我真的好氣,這都能忘杉允。然后在info.plist中添加了對應(yīng)的權(quán)限邑贴。然后跑起來,試了一發(fā)叔磷。搞定拢驾!權(quán)限的添加可以自行百度或者到我另外一篇文章查看


總結(jié)

以上集成步驟雖然都很簡單改基,但是有些問題一時半會沒想到繁疤,往往要浪費好多時間去解決,有可能一個細節(jié)都能讓你崩潰寥裂,就好像我在xcode8權(quán)限的問題上嵌洼。所以這篇文章也是獻給為工作勞累的同行們。本文章如有錯誤歡迎留言指出封恰。如有更好方法也希望各位大神分享。謝謝褐啡!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诺舔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌低飒,老刑警劉巖许昨,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異褥赊,居然都是意外死亡糕档,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門拌喉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來速那,“玉大人,你說我怎么就攤上這事尿背《搜觯” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵田藐,是天一觀的道長荔烧。 經(jīng)常有香客問我,道長汽久,這世上最難降的妖魔是什么鹤竭? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮景醇,結(jié)果婚禮上诺擅,老公的妹妹穿的比我還像新娘。我一直安慰自己啡直,他們只是感情好烁涌,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著酒觅,像睡著了一般撮执。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上舷丹,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天抒钱,我揣著相機與錄音,去河邊找鬼颜凯。 笑死谋币,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的症概。 我是一名探鬼主播蕾额,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼彼城!你這毒婦竟也來了诅蝶?” 一聲冷哼從身側(cè)響起退个,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎调炬,沒想到半個月后语盈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡缰泡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年刀荒,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棘钞。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡缠借,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出武翎,到底是詐尸還是另有隱情烈炭,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布宝恶,位于F島的核電站符隙,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏垫毙。R本人自食惡果不足惜霹疫,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望综芥。 院中可真熱鬧丽蝎,春花似錦、人聲如沸膀藐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽额各。三九已至国觉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間虾啦,已是汗流浹背麻诀。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留傲醉,地道東北人蝇闭。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像硬毕,于是被迫代替她去往敵國和親呻引。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第一次集成環(huán)信SDK應(yīng)該是在去年吧昭殉,那個時候還是2.0的版本苞七,沒想到后面做的幾個APP都用到了環(huán)信的及時聊天藐守,用過...
    imGeek閱讀 1,622評論 4 16
  • 版權(quán)聲明:本文為博主原創(chuàng)文章挪丢,未經(jīng)博主允許不得轉(zhuǎn)載蹂风。 前言 公司最近要求做即時通訊, 直接用了三方環(huán)信了,今天和大...
    Heaven7th閱讀 9,635評論 24 30
  • 一、準(zhǔn)備工作 1乾蓬、注冊環(huán)信帳號注冊一個環(huán)信賬號之后惠啄,我們用注冊的帳號登陸。然后創(chuàng)建一個應(yīng)用任内,會得到一個對應(yīng)的App...
    niceSYT閱讀 413評論 1 2
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,110評論 25 707
  • 習(xí)慣的打開微信,打開朋友圈越除,一個多月都沒在聯(lián)系节腐,或許是提及你已經(jīng)有生命中的另一半,而我卻不想打擾你摘盆,許久你...
    Royal丶淺逝閱讀 145評論 0 0