首页 > 代码库 > 集成环信

集成环信

即时通讯已经是潮流中的潮流尾了,我决定抓住潮流的尾巴,于是集成了一下环信,早就听说环信的集成会有很多坑,确实不少,但是还好有贴心的技术客服帮助一一解答。

废话不多说,环信的集成看文档来就可以,下面主要说一下中途遇到的坑以及解决方法:

1、pod ‘Hyphenate_CN‘, ‘~> 3.2.0‘

  提示ios集成sdk引入EaseUI包,"EaseMob.h"文件找不到

解决:

  3.x SDK 的EaseUI里面是不需要使用easeMob.h 文件的(下载最新的demo,从中拉取EaseUI到项目中)

2、demo下载好了测试demo的账号是什么呢?

解决:

  dh6666 123456

3、报出could not build module ‘Foundation‘ could not build module ‘UIKit‘错误

解决:SDK手动加吧

4、SDK手动加入后,引用的头文件 "EMSDKFull.h"、"EaseUI.h"后仍报could not build module ‘Foundation‘ could not build module ‘UIKit‘错误

解决:在你的pch文件中 所有的头文件 都加到 #ifdef __OBJC__ #import " " 。。。。 #endif 内

5、技术分享

解决:把EaseUI中的 EMSDWebimage 删了,报错的地方 换成你自己的SDWebimage的方法

6、技术分享

 解决:将#import "UIImage+EMGIF.h"文件添加到项目中

7、技术分享

解决:SDK 不支持 bitcode,向 Build Settings → build options → Enable Bitcode 中设置 NO。

8、表情为什么没有呢?

解决:在EaseMessageViewController.m类的viewdidload中的最后加上

EaseEmotionManager *manager= [[EaseEmotionManager alloc] initWithType:EMEmotionDefault emotionRow:3 emotionCol:7 emotions:[EaseEmoji allEmoji]];

[self.faceView setEmotionManagers:@[manager]];

9、发送消息发不出去

解决:看登录环信服务器成功没,(登录方法看文档)一般是用户登录你们自己服务器成功之后 在调用登录环信服务器的方法

10、登录失败

解决:看error.code error.code=204 EMErrorUserNotFound 204是用户不存在

技术分享

11、发语音的时候蹦了技术分享

解决:将这个字段添加到info.plist 文件里面,其他如相机、蓝牙、相册、位置等,都在info.plist文件中需要添加

12、无法使用实时语音

解决:调用实时语音的方法就ok了,demo是先跳转到callviewcontroller方法的,怎么知道用户点的是这个图标呢,不同的button响应方法不同啊这个图标的响应方法是什么?是takeAudioCallAction这个方法

现在只是发通知,没有注册监听者

[[NSNotificationCenter defaultCenter] postNotificationName:KNOTIFICATION_CALL object:@{@"chatter":self.conversation.conversationId, @"type":[NSNumber numberWithInt:0]}];

你要监听这个通知来实现发起实时通话的方法

在demo在ChatDemoHelper.m写的

技术分享

一般在工程的根控制器中去监听,实现全局监听

技术分享

[[NSNotificationCenter defaultCenter] postNotificationName:KNOTIFICATION_CALL object:@{@"chatter":self.conversation.conversationId, @"type":[NSNumber numberWithInt:0]}];无论在哪个页面 有人给你拨打实时通话 你都能监听到

在添加监听的时候,可以直接使用"ChatDemoHelper.h"这个文件 

集成环信