问题描述
1.我是按官方来写的: //构建消息体 EMMessage *message = [CoreHuanXin buildForUsername:self.buddy.username messageBody:[CoreHuanXin messageText:self.tf.text]]; //发送消息 [CoreHuanXin sendMessage:message progress:self prepareBlock:^{ NSLog(@"消息发送前的准备"); } completeBlock:^{ CoreSVPSuccess(@"发送成功") } errorBlock:^(EMError *error) { CoreSVPError(@"发送失败") }];/** 发送一条消息 */+(EMMessage *)sendMessage:(EMMessage *)message progress:(id<IEMChatProgressDelegate>)progress prepareBlock:(void(^)())prepareBlock completeBlock:(void(^)())completeBlock errorBlock:(void(^)(EMError *error))errorBlock{ EMMessage *sendMsg = [ChatManager asyncSendMessage:message progress:progress prepare:^(EMMessage *message, EMError *error) { if(error != nil){if(errorBlock != nil) errorBlock(error);} else{TrigerBlock(prepareBlock)} } onQueue:nil completion:^(EMMessage *message, EMError *error) { if(error != nil){if(errorBlock != nil) errorBlock(error);} else{ TrigerBlock(completeBlock)} } onQueue:nil]; return sendMsg;} 我看官方关于那个Conversation写了那么多,但没有使用,我这里也没有使用,如上代码发消息给好友,代理无任何反应。。。。 我测试通过后台发消息是可以的,问题应该是发消息的代码出了问题。
解决方案
我使用的是官方做法: 构建消息体,构建消息对象、然后asyncSendMessage:
解决方案二:
EMChatText *txtChat = [[EMChatText alloc] initWithText:@"要发送的消息"]; EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txtChat]; // 生成message EMMessage *message = [[EMMessage alloc] initWithReceiver:@"6001" bodies:@[body]]; message.messageType = eMessageTypeChat; // 设置为单聊消息写死直接调[EaseMob sharedInstance].chatManager asyncSendMessage试试,看对方能收到么
解决方案三:
这个方法测试: 结果:sdk提示成功,error=nil, 但就是没有反应,收不到消息-(void)didReceiveMessage: 方法不触发(我用后台发消息测试可以成功,所以不是代理的问题)。
解决方案四:
测试代码如下: EMChatText *txtChat = [[EMChatText alloc] initWithText:@"要发送的消息"]; EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithChatObject:txtChat]; // 生成message EMMessage *message = [[EMMessage alloc] initWithReceiver:self.buddy.username bodies:@[body]]; message.messageType = eMessageTypeChat; // 设置为单聊消息 [ChatManager asyncSendMessage:message progress:nil prepare:nil onQueue:nil completion:^(EMMessage *message, EMError *error) { NSLog(@"成功"); //error = nil 这里 } onQueue:nil];
解决方案五:
我貌似找到问题了, 好像我把对方拉了黑名单,是不是就不能收到了??
解决方案六:
对方将你加入黑名单,你发送消息,对方收不到的
解决方案七:
进入黑名单了,删除黑名单好友,再添加也没有反应???
解决方案八:
将好友移出黑名单后发送消息测试是否成功?按照上述测试代码,发送消息代码方面是没有问题的。