Apple是否批准使用setKeepAliveTimeout:handler方法将GPS位置更新到服务器?



我正在编写一个应用程序,当应用程序在后台运行时,需要偶尔更新服务器有关用户位置的信息。我知道我可以通过使用setKeepAliveTimeout:handler:方法来做到这一点。我知道这种方法是专门为VoIP应用程序,但我想知道苹果是否会允许这种使用位置更新到服务器?

文档说,当使用setKeepAliveTimeout:handler:方法时,您的处理程序只有10秒的时间来保持voip呼叫的网络连接。看看这个答案。

此呼叫用于voip应用程序,您必须在UIBackgroundModes键(info.plist)中具有voip。使用这个可能会被拒绝,除非你正在编写一个voip应用程序。

你不需要这个setKeepAliveTimeout

我建议阅读苹果的官方文档:https://developer.apple.com/library/ios/documentation/userexperience/conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html

iOS提供的一个东西是位置改变时的回调。您的应用程序将被唤醒一小段时间,您将收到此回调,并且应该能够将您的位置发送到服务器。

顺便说一句。为此,您需要location背景模式。

和程序是正确的。您需要voip后台模式来使用setKeepAliveTimeout。如果你的应用程序不是一个真正的voip应用程序,几乎可以保证你的应用程序将被拒绝。

最新更新