即時(shí)通訊已經(jīng)是潮流中的潮流尾了孩锡,我決定抓住潮流的尾巴鸟顺,于是集成了一下環(huán)信惦蚊,早就聽(tīng)說(shuō)環(huán)信的集成會(huì)有很多坑,確實(shí)不少讯嫂,但是還好有貼心的技術(shù)客服幫助一一解答蹦锋。
廢話(huà)不多說(shuō),環(huán)信的集成看文檔來(lái)就可以欧芽,下面主要說(shuō)一下中途遇到的坑以及解決方法:
1莉掂、pod 'Hyphenate_CN', '~> 3.2.0'
提示ios集成sdk引入EaseUI包,"EaseMob.h"文件找不到
解決:
3.x SDK 的EaseUI里面是不需要使用easeMob.h 文件的(下載最新的demo千扔,從中拉取EaseUI到項(xiàng)目中)
2憎妙、demo下載好了測(cè)試demo的賬號(hào)是什么呢?
解決:
dh6666 123456
3曲楚、報(bào)出could not build module 'Foundation' could not build module 'UIKit'錯(cuò)誤
解決:SDK手動(dòng)加吧
4厘唾、SDK手動(dòng)加入后,引用的頭文件 "EMSDKFull.h"洞渤、"EaseUI.h"后仍報(bào)could not build module 'Foundation' could not build module 'UIKit'錯(cuò)誤
解決:在你的pch文件中 所有的頭文件 都加到 #ifdef __OBJC__ #import " " 阅嘶。。载迄。讯柔。 #endif 內(nèi)
5、
解決:把EaseUI中的 EMSDWebimage 刪了护昧,報(bào)錯(cuò)的地方 換成你自己的SDWebimage的方法
6魂迄、
解決:將#import "UIImage+EMGIF.h"文件添加到項(xiàng)目中
7、
解決:SDK 不支持 bitcode惋耙,向 Build Settings →build options?→ Enable Bitcode 中設(shè)置 NO捣炬。
8、表情為什么沒(méi)有呢绽榛?
解決:在EaseMessageViewController.m類(lèi)的viewdidload中的最后加上
EaseEmotionManager *manager= [[EaseEmotionManager alloc] initWithType:EMEmotionDefault emotionRow:3 emotionCol:7 emotions:[EaseEmoji allEmoji]];
[self.faceView setEmotionManagers:@[manager]];
9湿酸、發(fā)送消息發(fā)不出去
解決:看登錄環(huán)信服務(wù)器成功沒(méi),(登錄方法看文檔)一般是用戶(hù)登錄你們自己服務(wù)器成功之后 在調(diào)用登錄環(huán)信服務(wù)器的方法
10灭美、登錄失敗
解決:看error.codeerror.code=204 EMErrorUserNotFound204是用戶(hù)不存在
11推溃、發(fā)語(yǔ)音的時(shí)候蹦了
解決:將這個(gè)字段添加到info.plist 文件里面,其他如相機(jī)届腐、藍(lán)牙铁坎、相冊(cè)蜂奸、位置等,都在info.plist文件中需要添加
12硬萍、無(wú)法使用實(shí)時(shí)語(yǔ)音
解決:調(diào)用實(shí)時(shí)語(yǔ)音的方法就ok了扩所,demo是先跳轉(zhuǎn)到callviewcontroller方法的,怎么知道用戶(hù)點(diǎn)的是這個(gè)圖標(biāo)呢朴乖,不同的button響應(yīng)方法不同啊這個(gè)圖標(biāo)的響應(yīng)方法是什么祖屏?是takeAudioCallAction這個(gè)方法
現(xiàn)在只是發(fā)通知,沒(méi)有注冊(cè)監(jiān)聽(tīng)者
[[NSNotificationCenter defaultCenter] postNotificationName:KNOTIFICATION_CALL object:@{@"chatter":self.conversation.conversationId, @"type":[NSNumber numberWithInt:0]}];
你要監(jiān)聽(tīng)這個(gè)通知來(lái)實(shí)現(xiàn)發(fā)起實(shí)時(shí)通話(huà)的方法
在demo在ChatDemoHelper.m寫(xiě)的
一般在工程的根控制器中去監(jiān)聽(tīng)寒砖,實(shí)現(xiàn)全局監(jiān)聽(tīng)
[[NSNotificationCenter defaultCenter] postNotificationName:KNOTIFICATION_CALL object:@{@"chatter":self.conversation.conversationId, @"type":[NSNumber numberWithInt:0]}];無(wú)論在哪個(gè)頁(yè)面 有人給你撥打?qū)崟r(shí)通話(huà) 你都能監(jiān)聽(tīng)到
在添加監(jiān)聽(tīng)的時(shí)候赐劣,可以直接使用"ChatDemoHelper.h"這個(gè)文件