我有一个应用程序用于CLLocationManager
跟踪用户的路线,沿着所走的路径绘制点。该应用程序使用必需的后台模式在后台运行 > 应用程序注册位置更新。
据我了解,需要调用后台发生的任何事情,locationManager:didUpdateToLocation:fromLocation
因为这是每次位置更新都会调用的方法。
我遇到的问题是,有时这会停止被调用。当用户的位置在大约 15 分钟左右的时间内没有太大变化时,似乎会发生这种情况。据我所知,呼叫locationManager:didUpdateToLocation:fromLocation
只是停止,大概是为了节省电池。不幸的是,当您重新开始移动时,它不会再次恢复。
我认为无法覆盖此行为,因此我想使用通知中心通知用户该应用程序不再记录路线。问题是,应用程序如何知道发生了这种情况?如果locationManager:didUpdateToLocation:fromLocation
未调用,我将无法触发通知。如果正在调用它,则不应触发通知。