1.官网
1.表情云 iOS API (BQMM 表情包)
2.环信SDK文档
2. 界面展示
3.本文适配 对应 版本 (2018.1.22)
1.表情云 :V2.0.0 (2017.12.27)
2.环信:3.3.7 (2017.11.30)
注意 :
1.本次 适配 的环信版本( 3.3.7 ) 与 表情云官网 下载的demo中表情云的 版本( 3.1.4 )不同
2.不要使用 cocoaspod 导入 BQMM 因为那样下载的对应类库 会与 表情云- 环信demo 的文件不一致,缺少 MMGifManager.h
文件等...,所以 本文 选择 手动 导入BQMM
具体操作 参考 http://open.biaoqingmm.com/doc/sdk/content/ios/implement_manual/
4.适配中注意点
1.打开demo 全局 搜索 //BQMM集成
(由于 本人项目 不需要 ContactListSelectViewController.h
文件 所以不做操作),剩下的就是对 搜索的文件 与 自己配置好的环信项目进行配置
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
3.添加 新文件 EaseBubbleView +MMText.h
时候 需要 引入 如下2个文件
-
EaseChatToolbar.h
文件
4.1.针对于 3.3.7 需要在.h 导入 如下方法
//BQMM集成 -- 自己
- (void)didSendTextMessageWithTextView:(UITextView *)textView;
原因 3.3.7 中省去 上面的方法
4.2. EaseChatToolbar.m
5.#import "EaseCustomMessageCell.m"
//BQMM集成 方法中 针对于 sd_setImageWithURL:...的方法
- (void)setCustomModel:(id<IMessageModel>)model{
.......
}
原因 是环信 重写了 SD的一些方法,报错
下图为 表情云demo 的代码(错误) 上图为更正后的 代码