2014-01-24 45 views

回答

4

如果设置

yourLocationManager.pausesLocationUpdatesAutomatically = YES; 

你也应该设定一个值

yourLocationManager.activityType 

“的位置管理器使用该属性中的信息为线索,以确定位置更新可自动暂停暂停更新使得系统有机会在用户的位置不可能发生变化的情况下节省电力,例如,如果活动类型是CLActivityTypeAutomotiveNavigation并且最近没有发生位置变化,则收音机可能是po直到再次检测到移动为止。“

UPDATE:改变苹果文档 “ 暂停后发生时,再次重新启动定位服务你的责任,当你确定他们所需的核心位置调用 locationManagerDidPauseLocationUpdates(_ :)的 方法您。您可以配置一个本地通知,其触发器类型为UNLocationNotificationTrigger,并设置为在用户退出当前区域时进行通知。本地通知的消息应提示用户再次启动您的应用程序,以便它可以恢复更新。“

+1

那么这不完全是我的问题。我已经意识到这一点,但无论如何感谢。然而,这是:“和他们自动重新启动时,activityType不再被检测到”是我想知道的。你能告诉我更多吗?你在哪里找到这些信息? Thks – kokluch

+4

如果应用程序处于前台,它肯定会发生。如果它处于后台模式,它可能永远不会恢复 - 正如此处所述:http://stackoverflow.com/questions/17484352/iphone-gps-in-background-never-resumes-after-pause – tanzolone

+0

好吧。感谢您的链接。似乎有一个关于它的文件的湖泊。 – kokluch