我有一个需要位置跟踪的应用程序,我认为它完全适合允许的背景模型之一。但是,当位置发生重大变化时,我需要发布到网络服务。我已经看过在后台处理中禁止声明网络访问的文章,但我没有在Apple的文档中看到过。
是否有人知道在后台流程中偶尔和非常快速的网络更新是否是犹太洁食(苹果政策)?
答案 0 :(得分:12)
很好,根据Apple文档,只允许在后台使用以下用法并且每个服务都应该注册:
- audio-应用程序在后台播放可听内容给用户。 (此内容包括流式音频或视频内容 使用AirPlay。)
- 位置 - 该应用可让用户随时了解其位置,即使它在后台运行也是如此。
- voip-该应用程序使用户能够使用Internet连接拨打电话。
- 报亭 - 内容 - 该应用是一个报亭应用,可在后台下载和处理杂志或报纸内容。
- external-accessory-该应用程序适用于需要通过外部定期提供更新的硬件配件 附件框架。
- bluetooth-central-该应用程序与蓝牙配件配合使用,需要通过以下方式定期提供更新 CoreBluetooth框架。
除此服务外,您可以在后台中创建有限长度任务,实际上可以让您终止网络流程。
如果您的应用执行某项重要任务,这一点非常重要, 例如将用户数据写入磁盘或下载重要文件 来自网络服务器。
关于您的问题,如果您在后台运行位置服务,那么您是否可以进行快速网络连接并不是很清楚。我会说是短暂连接,但不完全确定。自iOS 4.0以来,这种用法在文档中被拒绝和清除,现在该部分已被删除。
答案 1 :(得分:2)
是。 Apple不允许您根据需要在后台运行。
否如果您的应用不属于Voip,音乐或GPS类别;然后你不能在后台运行。
更多信息:Update my app when it is in background
您可以使用ASIHTTPRequest。
ASIHTTPRequest
有一个属性setShouldContinueWhenAppEntersBackground:
。默认为NO
,您可以启用YES
,以便进行后台网络处理。
答案 2 :(得分:1)
Apple文档似乎对严格的政策有点不清楚。应用程序商店中肯定有应用程序在后台作为基于位置的应用程序运行时进行零星的网络调用。一个例子是Geoloqi应用程序。