【发布时间】:2012-09-23 07:35:49
【问题描述】:
我提交了一个应用程序,它以用户选择的固定时间间隔(5 分钟、10 分钟、30 分钟、1 小时)跟踪用户的位置(并将其发送到服务器)。该应用程序也应该在后台运行(发送请求),我已将其声明为UIBackgroundMode = location。我可以在后台以这些固定的时间间隔发送请求。苹果拒绝了,建议如下:
我们发现您的应用使用了后台模式,但不包括 需要该模式持续运行的功能。这 行为不符合 App Store 审核指南。
我们注意到您的应用在 UIBackgroundModes 键在 Info.plist 中,但不包含功能 这需要持久的位置。
添加需要持续使用 应用程序在后台时的实时位置更新或 从 UIBackgroundModes 键中删除“位置”设置。如果你的 应用程序不需要持久的实时位置更新, 我们建议使用重大变化定位服务或 区域监控定位服务。
有关这些选项的更多信息,请参阅“启动 重大变化定位服务”和“基于形状的监控 位置感知编程指南中的区域”部分。
如果您选择添加使用位置背景模式的功能, 请在您的产品中包含以下电池使用免责声明 应用说明:
“继续使用在后台运行的 GPS 可以显着提高 减少电池寿命。”
如果我更改重大位置更改并从Info.plist 中删除UIBackgroundMode 键,则应用程序将在后台终止,并且仅在事件发生时才会唤醒。但是我必须每 5 分钟向服务器发送一次请求,并且我的应用程序在后台被终止(假设用户没有移动并且事件不是 trigger = no 请求被发送到服务器)。
【问题讨论】:
-
5 分钟对你来说真的很重要吗?您可以进行重大的位置更改,但仍会在后台将位置报告给服务器。从技术上讲是可能的。这对你有用吗?我认为对于苹果来说它会起作用。
-
也许您需要为审阅者更新描述和 cmets?在我看来,该应用程序没有被很好地理解。
-
是的,Sulthan,我认为你是对的。
标签: ios cllocationmanager appstore-approval