Max0

try conversation.queryMessage(limit: limit, policy: .onlyCache, completion: { }) iOS SDK 的缓存是默认开启的,并没有关闭缓存。当使用上面的 API 获取本地缓存时候,会报错: LCError(code: 9976, reason: Optional("Local Storage not open."), userInfo: nil, underlyingError: nil) 没找多相关解决方案,请解答! SDK 版本信息: - LeanCloud (16.3.0): - LeanCloud/IM (= 1…

现在不会报错了,但是查询的结果一直为空是怎么回事。。。

发现一对一单聊的情况,只有先从网络获取数据后,才能在 cache 中查找到数据,Demo 貌似也是这个逻辑 难道说缓存的数据没有保存在本地吗,只是 memory cache?(另外,我也好想确实没找到删除本地某个 conversation 聊天记录的 API) 可是有另一点疑惑的就是,重新打开 app 后,聊天室( policy == .onlyCache)却依然可以查询到数据。。。

这个 cache 是磁盘缓存还是内存缓存?

这里我忘了说场景,就是一个新用户创建一个会话,发送一条消息,然后退出聊天界面,再重新进入聊天界面的时候,使用 .onlyCache 去获取本地缓存,发现结果一直都是空的,我猜测缓存消息的时机不是在消息发出或者接收成功后缓存的,所以导致找不到缓存的聊天记录。。。可以解答一下消息是什么时候被写入磁盘缓存的吗?

明白了,感谢答疑

如果一个 conversation 有未读消息,直接使用 deleteStoredConversationAndMessages 删除后,重新打开 app,还是会加载该 conversation,怎么解决? 即使在删除之前执行了 conversation.read( ) ,下次打开 app 还是会加载到该 conversation。。。