我提交了一个应用程序,它以用户选择的固定时间间隔(5 分钟、10 分钟、30 分钟、1 小时)跟踪用户的位置(并将其发送到服务器)。该应用程序也应该在后台运行(发送请求),我已将其声明为UIBackgroundMode = location
. 我可以在后台以这些固定的时间间隔发送请求。苹果拒绝了它,建议如下:
我们发现您的应用使用后台模式,但不包含需要该模式持续运行的功能。此行为不符合 App Store 审核指南。
我们注意到您的应用在 Info.plist 的 UIBackgroundModes 键中声明支持位置,但不包括需要持久位置的功能。
添加需要在应用程序处于后台时持续使用实时位置更新的功能或从 UIBackgroundModes 键中删除“位置”设置是合适的。如果您的应用程序不需要持久的实时位置更新,我们建议使用重大变化位置服务或区域监控位置服务。
有关这些选项的更多信息,请参阅位置感知编程指南中的“启动显着变化位置服务”和“监控基于形状的区域”部分。
如果您选择添加使用位置后台模式的功能,请在您的应用程序描述中包含以下电池使用免责声明:
“继续使用在后台运行的 GPS 会大大缩短电池寿命。”
如果我更改重大位置更改并UIBackgroundMode
从中删除密钥Info.plist
,则该应用程序将在后台被终止,并且仅在事件发生时才会唤醒。但是我必须每 5 分钟向服务器发送一次请求,并且我的应用程序在后台被终止(假设用户没有移动并且事件不是trigger = no
请求被发送到服务器)。