环信程序员

3.环信(3.3.7 )--表情云(2.0)(2018.1.22

2018-01-22  本文已影响44人  淡闲星草

1.官网

1.表情云 iOS API (BQMM 表情包)

2.环信SDK文档

2. 界面展示

界面展示.png

3.本文适配 对应 版本 (2018.1.22)

1.表情云 :V2.0.0 (2017.12.27)

表情云2.0.0 .png

2.环信:3.3.7 (2017.11.30)


环信3.3.7.png

注意 :

1.本次 适配 的环信版本( 3.3.7 ) 与 表情云官网 下载的demo中表情云的 版本( 3.1.4 )不同

表情云readme.png

2.不要使用 cocoaspod 导入 BQMM 因为那样下载的对应类库 会与 表情云- 环信demo 的文件不一致,缺少 MMGifManager.h文件等...,所以 本文 选择 手动 导入BQMM

具体操作 参考 http://open.biaoqingmm.com/doc/sdk/content/ios/implement_manual/

4.适配中注意点

1.打开demo 全局 搜索 //BQMM集成 (由于 本人项目 不需要 ContactListSelectViewController.h文件 所以不做操作),剩下的就是对 搜索的文件 与 自己配置好的环信项目进行配置

注意1.png

2.#import "EaseMessageViewController.m" 文件 针对于 环信 3.3.7 需要添加(3.1.4版本 不需要添加如下方法)

2.1

//BQMM集成 -- 自己
-  (void)_sendMessage:(EMMessage  *)message

{

if  (self.conversation.type ==  EMConversationTypeGroupChat){

message.chatType =  EMChatTypeGroupChat;

}

else  if  (self.conversation.type ==  EMConversationTypeChatRoom){

message.chatType =  EMChatTypeChatRoom;

}

[self addMessageToDataSource:message

progress:nil];

__weak typeof(self) weakself = self;

[[EMClient sharedClient].chatManager sendMessage:message progress:nil completion:^(EMMessage  *aMessage,  EMError  *aError)  {

if  (!aError)  {

[weakself _refreshAfterSentMessage:aMessage];

}

else  {

[weakself.tableView reloadData];

}

}];

}

原因: 3.3.7 新增了如下 方法

-  (void)_sendMessage:(EMMessage  *)message isNeedUploadFile:(BOOL)isUploadFile

2.2

注意2.2.png

3.添加 新文件 EaseBubbleView +MMText.h时候 需要 引入 如下2个文件

注意3..png
  1. EaseChatToolbar.h文件

4.1.针对于 3.3.7 需要在.h 导入 如下方法

//BQMM集成 -- 自己

-  (void)didSendTextMessageWithTextView:(UITextView  *)textView;

原因 3.3.7 中省去 上面的方法

4.2. EaseChatToolbar.m

注意4.2.png

5.#import "EaseCustomMessageCell.m"

//BQMM集成 方法中 针对于 sd_setImageWithURL:...的方法

-  (void)setCustomModel:(id<IMessageModel>)model{

.......

}
注意5 --正确.png

原因 是环信 重写了 SD的一些方法,报错

下图为 表情云demo 的代码(错误) 上图为更正后的 代码

注意5- 错误.png
上一篇下一篇

猜你喜欢

热点阅读