pausesLocationUpdatesAutomatically [CLLocationManager]后重新启动locationUpates

时间:2014-01-24 14:19:07

标签: ios iphone gps core-location cllocationmanager

我想知道iOS系统是否会在pausesLocationUpdatesAutomatically属性自动暂停后自动重启CLLocationManager的locationUpdates,或者我是否必须自己处理这个案例。

如果是,根据哪些规则,如果不知道如何知道我再次开始移动并重新启动locationUpdates?

1 个答案:

答案 0 :(得分:5)

如果您设置

yourLocationManager.pausesLocationUpdatesAutomatically = YES;

您还应该将值设置为

yourLocationManager.activityType

“位置管理器使用此属性中的信息作为提示,以确定何时可以自动暂停位置更新。暂停更新可让系统在用户位置不太可能发生变化的情况下节省电量。例如,如果活动类型为CLActivityTypeAutomotiveNavigation且最近没有发生位置更改,则可能会关闭无线电,直到再次检测到移动为止。“

更新:更改了Apple文档 “ 暂停发生后,当您确定需要时,您有责任再次重新启动位置服务。核心位置呼叫 locationManagerDidPauseLocationUpdates(_ :)  您的位置管理员代表的方法,通知您已暂停。在该方法中,您可以配置其触发器类型为UNLocationNotificationTrigger的本地通知,并设置为在用户退出当前区域时通知。本地通知的消息应提示用户再次启动您的应用,以便它可以恢复更新。“