iOS在应用程序进入后台后会自动暂停。您需要让iOS知道您将在后台继续操作。
在Project > Options > 版本信息中,可以将需要在后台继续运行的服务的字符串值添加到数组键UIBackgroundModes中。这将被添加到info.plist中,用于iOS上的项目。
您可以就这些值的作用咨询苹果的文档。。。
- 值-描述
- 音频-应用程序在后台播放可听的内容。
- location -该应用程序向用户提供基于位置的信息,并要求使用标准的位置服务(相对于重要的更改位置服务)来实现此功能。
- voip -该应用程序提供IP语音服务.使用此键的应用程序在系统启动后会自动启动,以便应用程序可以重新建立VoIP服务。使用此键的应用程序也可以播放背景音频。
- fetch --该应用程序定期需要从网络中获取新内容。在方便的时候,系统会在后台启动或恢复应用程序,并给它下载任何新内容的时间。iOS 7.0及更高版本支持此值。
- remote-notification -该应用程序使用远程通知作为一个信号,表明有新的内容可供下载。当远程通知到达时,系统会在后台启动或恢复应用程序,并给它下载新内容的少量时间。iOS 7.0及更高版本支持此值。
- newsstand-content -应用程序处理最近在后台下载的内容,使用报摊工具包框架,这样当用户想要的时候内容就准备好了。iOS 5.0及更高版本支持此值。
- external-accessory --该应用程序与定期传输数据的附件进行通信。iOS 5.0及更高版本支持此值。
- bluetooth-central -在后台使用CoreBluetooth框架与蓝牙附件进行通信。iOS 5.0及更高版本支持此值。
- bluetooth-peripheral -应用程序使用CoreBluetooth框架在外围模式下与蓝牙附件进行通信。该系统将提醒用户使用该密钥集的应用程序的潜在隐私影响。有关隐私的更多信息,请参见维护用户隐私的最佳实践。iOS 6.0及更高版本支持此值。
注意,您需要实际选择与您正在执行的操作相匹配的模式。您不能只选择fetch,而实际上您所做的只是后台处理。