【发布时间】:2014-02-12 08:27:41
【问题描述】:
我正在创建一个应用程序,该应用程序将更新的位置发送到服务器,而不管应用程序状态如何。我尝试静默推送在后台唤醒我的应用程序,但它没有工作(它工作正常,除非我的应用程序被用户从应用程序切换器杀死)。我正在使用位置管理器获取当前位置。
IOS7 是否提供此功能以在后台启动您的应用程序(即使应用程序被用户从应用程序切换器杀死)??
我已经花了五天时间没有任何成功。如果有人可以帮助我,那将非常感激。
提前致谢!!
【问题讨论】:
我正在创建一个应用程序,该应用程序将更新的位置发送到服务器,而不管应用程序状态如何。我尝试静默推送在后台唤醒我的应用程序,但它没有工作(它工作正常,除非我的应用程序被用户从应用程序切换器杀死)。我正在使用位置管理器获取当前位置。
IOS7 是否提供此功能以在后台启动您的应用程序(即使应用程序被用户从应用程序切换器杀死)??
我已经花了五天时间没有任何成功。如果有人可以帮助我,那将非常感激。
提前致谢!!
【问题讨论】:
如果您需要精确的 GPS 位置,您可以将“位置”值添加到 Info.plist 中的 UIBackgroundModes 数组中,如“UIBackgroundModes location and significant location changes with region monitoring”中所述。如果您只需要大概的位置,您可以使用CLLocationManager 的startMonitoringSignificantLocationChanges 方法。正如文档中所写:“如果您启动此服务并且您的应用程序随后终止,如果有新事件到达,系统会自动将应用程序重新启动到后台。”
【讨论】:
您可以使用显着位置更改唤醒您的应用。 当您将应用程序切换到后台时,您必须开始重大的位置更改。 然后系统将在重大位置更改后唤醒您的应用程序。 频率不快于 5 分钟,每 500 米。 您必须通过在项目 AppDelegate 中的 didFinishLaunchingWithOptions 中检查 LocationKey 来捕捉事件。
【讨论】: