苹果因为 UIBackgroundMode = location 拒绝应用程序

14
我提交了一个应用程序,它可以跟踪用户的位置(并将其发送到服务器),用户可以选择固定时间间隔(5分钟、10分钟、30分钟、1小时)。该应用程序也应该可以在后台工作(发送请求),我已经将它声明为UIBackgroundMode = location。我能够在后台发送请求,以这些固定的时间间隔。Apple拒绝了我的应用程序,并提出以下建议:
我们发现您的应用程序使用了后台模式,但没有包含需要该模式持续运行的功能。这种行为不符合App Store审核指南。
我们注意到您的应用程序在Info.plist的UIBackgroundModes键中声明支持位置,但没有包括需要持续位置的功能。
添加需要在应用程序后台持续使用实时位置更新的功能或从UIBackgroundModes键中删除“位置”设置都是合适的。如果您的应用程序不需要持续的实时位置更新,我们建议使用显著更改位置服务或区域监视位置服务。
有关这些选项的更多信息,请参见《位置感知编程指南》中的“启动显著更改位置服务”和“监视基于形状的区域”部分。
如果您选择添加使用位置后台模式的功能,请在您的应用程序说明中包含以下电池使用免责声明:
“在后台持续使用GPS会大大降低电池寿命。”
如果我改变了显著的位置更改并从Info.plist中删除了UIBackgroundMode键,该应用程序将在后台被杀死,只有在事件发生时才会被唤醒。但我必须每5分钟向服务器发送请求,例如,如果应用程序在后台被杀死(假设用户未移动且事件不是触发器=no,则不会向服务器发送请求)。

对你来说,这5分钟真的很重要吗?你可以在后台进行重大位置更改,并仍然将位置报告给服务器。从技术上讲,这是可能的。这样做对苹果来说应该没问题。 - Fábio Oliveira
3
也许你需要更新描述和评论,以便让审核者更好地理解这个应用程序。在我看来,这个应用程序并没有被很好地理解。 - Sulthan
是的,Sulthan,我认为你是正确的。 - Alexandru Circus
3个回答

8

要解决这个问题,您需要在Itunes Connect的应用描述中添加免责声明:“在后台持续使用GPS会严重降低电池寿命。”


6
听起来苹果的投诉是认为你的应用程序不需要使用后台位置。如果你所尝试做的事情是合法的——例如,用户希望应用在后台跟踪他们,并且这对他们很有用——你可以尝试在审查说明中解释为什么需要位置跟踪。

4
我认为我只需在应用程序说明中添加免责声明:"持续使用后台中的GPS功能可能会显著降低电池续航时间",即可解决问题。 - Alexandru Circus

1

我认为最好直接向苹果提出这些问题。希望你已经这样做了。 只要你的回复专业和清晰,他们非常擅长沟通,就像你的问题一样。

我很难相信有人能在这里帮助你。

编辑:为你的应用程序添加描述。在与用户和苹果审核员的消息中要清晰明确。这似乎会有很大帮助。记住,他们也是人。


谢谢,我已经告诉我的雇主回复他们的邮件并提出一些问题。 - Alexandru Circus
我认为解决这个问题只需要在应用描述中添加免责声明:“持续使用后台GPS定位会大幅降低电池寿命。” - Alexandru Circus
我也遇到了同样的问题。那么你是否在你的应用描述中添加了这行内容,然后你的应用被批准了呢? - Manthan
我也遇到了同样的问题。在应用程序描述中添加免责声明有助于获得批准。 - Ronald Randon
酷酷的曼哈顿,好听到你的声音。 如果有人发现我的回答有帮助,请标记它。 - GregJaskiewicz
我遇到了同样的问题,请告诉我该怎么办?只是在应用程序描述中添加免责声明有助于获得批准吗? - NaXir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接