退出区域后重新启动LocationManager

时间:2015-03-30 09:48:42

标签: ios cllocationmanager

我有一个应用程序,它使用背景和前景中的用户位置。在用户停止车辆的后台,应用程序自动进入睡眠状态并呼叫stopUpdatingLocation。一切都按预期工作。

现在我想确保当用户再次开始驾驶时应用程序重新启动它。为实现这一目标,我在调用stopUpdatingLocation之前添加了一个半径为200米的区域和最后一个位置。使用didExitRegion方法,我只需再次调用startUpdatingLocation

这给了我不一样的结果,似乎有时模拟器按预期工作但是当我开车时我无法使其工作。 exitRegion有效,因为我可以收到localNotification

我的问题: 以上是可能的,因此可以唤醒应用程序并开始在后台更新用户位置吗?

是否有可用的代码示例实现此目的?

1 个答案:

答案 0 :(得分:0)

我建议您使用startMonitoringSignificantLocationChangesstopMonitoringSignificantLocationChanges

来自Apple;

  

重要的位置更改服务可以在应用程序在前台或后台运行时正常发送事件。对于已终止的iOS应用,此服务会重新启动应用以提供活动。使用此服务需要用户“始终”授权。