Apple拒绝,因为UIBackgroundMode = location

我提交了一个应用程序,它以用户选择的固定间隔(5分钟,10分钟,30分钟,1小时)跟踪用户的位置(并将其发送到服务器)。 该应用程序也应该在后台工作(发送请求),我已将其声明为UIBackgroundMode = location 。 我可以在后台以固定的间隔发送请求。 Apple拒绝了它,建议如下:

我们发现您的应用使用后台模式,但不包含要求该模式持续运行的function。 此行为不符合App Store审查指南。

我们注意到您的应用程序在Info.plist中的UIBackgroundModes键中声明了对位置的支持,但不包括需要持久位置的function。

在app处于后台时添加需要持续使用实时位置更新的function或从UIBackgroundModes键中删除“location”设置是合适的。 如果您的应用程序不需要持久的实时位置更新,我们建议您使用重要更改位置服务或区域监控位置服务。

有关这些选项的更多信息,请参阅位置感知编程指南中的“启动重要更改位置服务”和“监控基于形状的区域”部分。

如果您选择添加使用位置背景模式的function,请在您的应用程序说明中包含以下电池使用免责声明:

“继续使用GPS在后台运行会大大降低电池寿命。”

如果我更改了重要的位置更改并从Info.plist删除了UIBackgroundMode键,则应用程序将在后台被杀死,并且只有在事件发生时才会唤醒。 但是我必须每隔5分钟将请求发送到服务器,并且我的应用程序在后台被杀死(假设用户没有移动且事件不是trigger = no请求被发送到服务器)。

听起来苹果的抱怨是你的苹果认为你的应用不需要使用背景位置。 如果你想要做的是合法的 – 例如你的用户希望应用程序在后台跟踪它们,这对他们来说是有用的 – 你可以尝试解释为什么在评论说明中需要进行位置跟踪。

要解决此问题,您必须在Itunes Connect的应用说明中添加免责声明“继续使用GPS在后台运行会大大降低电池寿命。”

我认为最好直接向Apple提出这些问题。 我希望你这样做。 他们非常善于沟通,提供您的专业和清晰的回应。 你的问题也是如此。

我发现很难相信任何人都能在这里帮助你。

编辑:向您的应用添加说明。 清楚地向用户和苹果评论员发送消息。 它似乎有很多帮助。 记住,他们也是人。