我有一个应用程序,它使用CLLocationManager
跟踪用户的路线,沿着所采取的路径绘制点。应用程序使用所需的背景模式>应用程序寄存器进行位置更新,并在后台运行CLLocationManager停在后台
据我所知,后台发生的任何事情都需要从locationManager:didUpdateToLocation:fromLocation
调用,因为这是每次更新位置时调用的方法。
我遇到的问题是,有时这停止调用。当用户的位置在15分钟左右的空间内变化不大时,似乎会发生这种情况。据我所知,电话locationManager:didUpdateToLocation:fromLocation
只是停止,大概是为了节省电池。不幸的是,当你回来时它不会再恢复。
我认为有没有办法来覆盖这种行为,所以我想使用通知中心通知用户该应用程序不再记录路线。问题是,应用程序如何知道这件事发生了?如果locationManager:didUpdateToLocation:fromLocation
未被调用,我无法激发我的通知。如果它被调用,通知不应该触发。
我有这个确切的问题。当用户在15分钟内没有移动,并且他在保持应用在后台时再次开始移动时,不会调用locationManager:didUpdateLocations。如果用户将应用程序放回到前台,那么调用locationManager:didUpdateLocations,但它不包含用户开始移动和将应用程序放在前台之间的所有之前的位置。 –