iOS后台应用程序网络访问

mic*_*ael 12 iphone networking location ios

我有一个需要位置跟踪的应用程序,我认为它完全适合允许的背景模型之一.但是,当位置发生重大变化时,我需要发布到网络服务.我已经看到在后台处理中禁止声明网络访问的文章,但我没有在Apple的文档中读到这些内容.

有谁知道在后台进程中偶尔和非常快速的网络更新是否是kosher(wrt Apple策略)?

bon*_*oJR 12

好的一点,根据Apple文档,只允许在后台使用以下用法并且每个服务都应该注册:

  • audio-该应用程序在后台播放可听内容给用户.(此内容包括使用AirPlay播放音频或视频内容.)
  • location-该应用程序可让用户随时了解其位置,即使它在后台运行也是如此.
  • voip-该应用程序使用户能够使用Internet连接拨打电话.
  • 报亭 - 内容 - 该应用程序是一个报亭应用程序,可在后台下载和处理杂志或报纸内容.
  • external-accessory-该应用程序适用于需要通过外部附件框架定期提供更新的硬件附件.
  • bluetooth-central-该应用程序与蓝牙配件配合使用,需要通过CoreBluetooth框架定期提供更新.

除了这些服务,您可以在后台创建一个有限长度的任务,实际上可以让您终止网络进程.

如果您的应用正在执行某项重要任务,例如将用户数据写入磁盘或从网络服务器下载重要文件,这一点非常重要.

关于您的问题,如果您在后台运行位置服务,那么您是否可以进行快速网络连接并不是很清楚.我会说是短暂连接,但不完全确定.自iOS 4.0以来,这种用法在文档中被拒绝和清除,现在该部分已被删除.