问题描述
EMConversationType type = EMConversationTypeChat; _chatterID = @"543875652";// _isChatGroup = isGroup; //根据接收者的username获取当前会话的管理者 EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:_chatterID type:type createIfNotExist:YES]; [conversation markAllMessagesAsRead]; //移除消息回调 [[EMClient sharedClient].chatManager removeDelegate:self]; //消息回调:EMChatManagerChatDelegate //注册消息回调 [[EMClient sharedClient].chatManager addDelegate:self delegateQueue:nil]; NSLog(@"%@", [conversation loadMoreMessagesFromId:@"xuesy" limit:2]);获取不到消息内容求大神具体讲解做好加个QQ543875652万分感谢/*! @method @brief 接收到一条及以上非cmd消息 */- (void)didReceiveMessages:(NSArray *)aMessages{ }/*! @method @brief 接收到一条及以上cmd消息 */- (void)didReceiveCmdMessages:(NSArray *)aCmdMessages{ }这两个方法不执行要怎么搞
解决方案
注册代理即可收到消息执行回调
解决方案二:
获取聊天内容,你在接收消息的回调(- (void)didReceiveMessages:(NSArray *)aMessages)和异步发送消息的方法中(- (void)asyncSendMessage:(EMMessage *)aMessage progress:(void (^)(int progress))aProgress completion:(void (^)(EMMessage *message, EMError *error))aProgressCompletion;)就可以获取到的。你上面说的两个回调函数不走,首先确定,你接收消息方,是不是登录成功了,发送消息方法,指定的接收消息用户的环信ID是否正确。 还可以把 这个两个回调写在你主控制或者appdelegate中,加上 协议:EMChatManagerDelegate 代理: [[EMClient sharedClient].chatManager addDelegate:self delegateQueue:nil];