首先,關(guān)于環(huán)信SDK的下載和一些依賴庫的添加,在此我就不做詳細(xì)介紹,(http://www.easemob.com/download/im)附上環(huán)信官網(wǎng)文檔,可以看一下,上面都可以下載,也有相關(guān)配置介紹。
今天主要說一下,環(huán)信集成遇到的各種坑,各種問題,有的連文檔都不說明的坑。。(主要是講解完全集成環(huán)信,UI的聊天界面,單聊功能也是環(huán)信的這種情況)
各位可能剛在官網(wǎng)下載下來ChatDemo-UI3.0這個(gè)版本,會發(fā)現(xiàn)HyphenateFullSDK和官網(wǎng)文檔有個(gè)不一樣的地方,少了個(gè)文件(libHyphenateSDK.a)
而且你也可以看到,文檔上面也說明有導(dǎo)入這個(gè)依賴庫,這里你不用管,繼續(xù)往下做就行,因?yàn)楹竺婺銜l(fā)現(xiàn),根本就沒有那個(gè).a文件。接下來就是全部工作做完,你以為你要見證奇跡的時(shí)候了,(我主要說導(dǎo)入SDK之后編譯沒有錯(cuò)的情況,如果有問題的話,文檔上有說明,百度上也有,我在此說的是文檔沒有說明的原因)。然后你會迫不及待的運(yùn)行整個(gè)項(xiàng)目,但是你會發(fā)現(xiàn)出現(xiàn)一個(gè)錯(cuò)誤:
dyld: Library not loaded: @rpath/Hyphenate.framework/Hyphenate Referenced from: /Users/liangyi/Library/Developer/CoreSimulator/Devices/F3F0CB24-F891-489D-B71F-1AA6DA17832C/data/Containers/Bundle/Application/8D4D4F2E-A19F-4590-BE80-41403C735448/EMDemo.app/EMDemo Reason: image not found
你看到最后一句感覺是少了一個(gè)圖片,這個(gè)時(shí)候你就懵逼了,為啥導(dǎo)入環(huán)信會出現(xiàn)少了個(gè)圖片呢?!你各種百度,估計(jì)也找不到問題的所在
你搜索的結(jié)果應(yīng)該也是這樣吧,而且你點(diǎn)開之后基本上里面全是英文,你更是一臉懵逼,可能你也會發(fā)現(xiàn)有人說把依賴庫后面的status的狀態(tài)改一下就能解決問題,把required改成optional,你也許會把Hyphenate.framework后面status給改了,然后你運(yùn)行發(fā)現(xiàn)沒錯(cuò)了,心里百般激動,但是問題又來了,你會發(fā)現(xiàn),不能發(fā)送消息了,然后你各種百度,各種問,而且還感覺和文檔上說的一樣做出來的,但是就是不能發(fā)消息,也許找不到問題的所在,最后你會發(fā)現(xiàn)EaseMessageViewController這個(gè)文件里的_conversation = [[EMClient sharedClient].chatManager getConversation:conversationChatter type:conversationType createIfNotExist:YES];這個(gè)方法里的_conversation=nil,永遠(yuǎn)都是nil,這樣肯定不能進(jìn)行實(shí)時(shí)聊天的,這個(gè)是創(chuàng)建會話對象的方法,這個(gè)為空,還玩?zhèn)€卵。
最后說的就是解決的方案,如果你細(xì)心你會發(fā)現(xiàn)你的工程和demo的工程有個(gè)地方不一樣
你會看到demo那里多個(gè)Hyphenate.framework,沒錯(cuò)這里也要添加一個(gè)Hyphenate.framework(這就是連文檔都不說明的地方),而且你也找不到原因,然后如果你之前把依賴庫的status修改了,別忘了改回去,只要上面空白的地方加入Hyphenate.framework這個(gè)依賴庫,整個(gè)環(huán)信單聊功能就完成了。
** 總結(jié) : 解決辦法 ----> 上面空白處要添加一個(gè)Hyphenate.framework **
原版 : http://www.cnblogs.com/liangyi-cn/p/6516952.html
參考文章 : http://blog.163.com/lijia_2010114105/blog/static/251850092201691423652118/