locationManager:didUpdateToLocation:fromLocation未调用重要位置更改监视

时间:2011-05-18 11:51:18

标签: iphone location monitoring cllocationmanager

我使用标准位置服务实现了后台位置跟踪,并且工作正常。但是,由于此实现使用了大量功率,我决定切换到重要的位置变化监控。基本上,我只是将对startUpdatingLocation的所有调用更改为startMonitoringSignificantLocationChanges并重用了之前实现的CLLocationManagerDelegate方法。

问题是在切换到重要的位置更改监视之后,委托方法locationManager:didUpdateToLocation:fromLocation仅在我开始监视时被调用一次,之后再也不会被调用。我已经绕着手机移动了几公里,并尝试用它来乘坐火车,但这种方法仍然没有被调用。我在这里错过了什么吗?是否需要启用设置或需要编写的特殊代码才能使其正常工作?

谢谢!

1 个答案:

答案 0 :(得分:1)

重要的位置变化需要手机信号塔才能运行。如果您没有手机接收,您将无法获得任何结果。您还可以调用CLLocationManager的significantLocationChangeMonitoringAvailable方法来查看它是否可用。