前提条件
一个非常重要的前提,是您的 App 自身拥有在 iOS 系统后台长期存活的权限,否则您可以忽略下面的所有内容,使用 SDK 默认设置即可。
请首先确认 App 拥有在 iOS 系统后台长期存活的权限。
在 iOS 系统中,一般的 App 进入后台一段时间之后就会被冻结,SDK 针对这种情况已经做了良好的设计和默认的处理。
App 进入后台两分钟之后,默认对断开和融云服务器的长连接,通过 APNS 进行消息的推送,以保证用户体验。
有些 App 自身能获取到在系统后台长期存活的权限,如:外设、物联网、越狱等特殊的应用,可以通过设置使 SDK 在后台强制保持永久的长连接。
实现步骤
以下分别描述了 融云 IM SDK 4.X 版本和 5.X 版本在 iOS 后台强制保持永久的长连接的方法。
4.X 版本
4.x 版本位置在 RongIMLib.framework 中有一个 RCConfig.plist 文件,您需要将这个文件单独导入工程中。增加一个 Key 为 Connection 的 Dictionary,在其中增加一个 Key 为 ForceKeepAlive 的 Boolean 属性,将 Value 设置为 YES。SDK 就会在后台强制保持永久的长连接。