注册

环信历史消息状态未刷新问题

环信历史消息状态未刷新问题:发送失败的消息重新发送成功了,但是通过loadNumbersOfMessages获取历史消息状态还是失败的,页面释放重新获取也不行,关闭整个APP重新打开状态才正确,求助~(是否有手动刷新本地消息数据库方法?)
已邀请:

miije - 90后IT猿

赞同来自: admin Half12345

问题解决了,具体原因没定位到。解决办法是删除EaseMobSDK然后重新导入了一遍,原因可能是项目原来的SDK版本太旧,代码上未做修改。感谢 Half12345、zybzybzyb 的热情帮助,谢谢。

Half12345

赞同来自: admin

你在重新发送和发送成功的位置断点下看看,看看消息的发送状态,对比下demo看哪里不对。
你用的什么版本,正常发消息的时候状态有问题么?

miije - 90后IT猿

IOS SDK 2.1.6(Lite版) 正常发消息没问题,重发的消息也能收到,就是获取消息记录时状态没刷新,重新登陆后状态就对了,重发成功后应该会自动改变本地数据库的消息状态的吧?Demo没这个问题,求解~~
 
消息你是怎么获取的

miije - 90后IT猿

消息获取就是用://获取会话记录
NSArray *messages = [weakSelf.conversation loadNumbersOfMessages:([weakSelf.messages count] + 20) before:timestamp];
获取最新的20条消息记录。
然后重发就先取得要重发的messageId然后在上边的messages里检索这条消息,再调用重发方法:id <IChatManager> chatManager = [[EaseMob sharedInstance] chatManager];
   [chatManager asyncResendMessage:message progress:nil];   发送这条消息。每次进入我都会调用上边的”获取会话记录“的方法获取一遍,重发的消息都是这个 message.deliveryState = eMessageDeliveryState_Failure;
你说的是第一次发送的消息是失败的,然后这条消息的状态一直是失败是么

要回复问题请先登录注册