如何清理会话消息及清除 iOS IM SDK 缓存图片?

融云 SDK 中新增了 deleteMessages 方法,用于删除某个会话中的所有消息,同时会整理压缩数据库,减少占用空间,此方法不可频繁循环调用。

方法如下:

/*!
 删除某个会话中的所有消息
 
 @param conversationType 会话类型,不支持聊天室
 @param targetId 目标会话ID
 @param successBlock 成功的回调
 @param errorBlock 失败的回调
 @discussion 此方法删除数据库中该会话的消息记录,同时会整理压缩数据库,减少占用空间
 */
- (void)deleteMessages:(RCConversationType)conversationType
 targetId:(NSString *)targetId
 success:(void (^)())successBlock
 error:(void (^)(RCErrorCode status))errorBlock;

实现方式,可参考 SealTalk 会话中“清除聊天记录”功能,如图:

同时 SealTalk 中实现了清除 SDK 中缓存图片的功能,开发者可参考融云 SealTalk 中的功能实现,功能位置: “SealTalk - 我 - 帐号设置 - 清除缓存” ,如图:

注:融云的缓存文件及图片存放在 Library/Caches/RongCloud 下