CLLocationManager
ユーザーのルートを追跡し、たどった経路に沿って点を描くアプリがあります。アプリは、必要なバックグラウンド モードを使用してバックグラウンドで実行されます > アプリは位置情報の更新を登録します。
私が理解しているように、バックグラウンドで発生するものはlocationManager:didUpdateToLocation:fromLocation
すべて、位置情報が更新されるたびに呼び出されるメソッドであるため、呼び出す必要があります。
私が抱えている問題は、これが呼び出されなくなることがあるということです。ユーザーの場所が 15 分程度の間隔であまり変化しない場合に発生するようです。私が知る限りlocationManager:didUpdateToLocation:fromLocation
、おそらくバッテリーを節約するために、停止するように求められます。残念ながら、移動中に再び再開することはありません。
この動作をオーバーライドする方法はないと思われるため、通知センターを使用して、アプリがルートを記録していないことをユーザーに通知したいと思います。問題は、これが発生したことをアプリがどのように知ることができるかということです。が呼び出されない場合locationManager:didUpdateToLocation:fromLocation
、通知を送信できません。呼び出されている場合、通知は発生しません。