iOS会话列表,为什么有时候获取不到最后一条消息?(OC语言)

jmessage
标签: #<Tag:0x00007fca82ca7cc8>

(明思) #1

如果创建的是一个新的单聊会话,会话列表中可以显示最新的一条消息,但是在此进入该聊天界面、或者接受到该聊天对象的消息时,还是显示之前的那条内容,会话列表不会更新了


#2

首先查看日志,消息是否有收到,是否消息收到了但你上层处理逻辑异常导致并未刷新出来。


(明思) #3

它有的时候会刷新出来,有的时候不会,当我获取所有回话的时候,里面的最后一条消息也不是最新的


#4

你调的是什么 API 获取的,看下日志,有没有取到信息。

如果已经取到了没显示,就得检查你上层的刷新是不是有问题


(明思) #5
  • (void)allConversations:(JMSGCompletionHandler)handler;我调用的这个方法,获取到会话放进数组中,然后再获取每个会话中的最后一条消息

#6

首先,SDK 收到消息时会上抛消息,上层通过 onReceiveMessage:error:onSyncOfflineMessageConversation:offlineMessages:,开发者可以通过代理方法来拿到具体的 message 对象,进而执行 UI 刷新或者其他相关逻辑

你先看下你的日志,对方发了消息之后,你这边有没有成功的收到,有没有事件

获取会话列表是在本地获取,得首先消息收到了才能取到,如果在收到消息之前调用的 API,那就取不到

另外,看下你的 SDK 版本是多少,是否用的最新的
https://docs.jiguang.cn/jmessage/updates/#ios-sdk-v380


#9

升级到最新的版本后再试一下
https://docs.jiguang.cn/jmessage/updates/#ios-sdk-v380