伝統的に(そして実用的に)、あなたのアプリが使用されている間にロケーションマネージャを-startUpdatingLocationに設定します。これは、あなたがフルタイムを実行している場合、あなたのバッテリーをかなり素早く消耗します。通常、これを呼び出したり、必要な情報を取得したり、情報を更新したりするには、-stopUpdatingLocationという呼び出しを使用します。これは、すべてのバッテリーを消耗させ、休息させます。
バッテリの寿命を維持したい場合、バックグラウンドまでロールオーバーすると、精度のオプションが非常に限られます。主なものは、-startMonitoringForSignificantChangesです。この位置更新は、主にセルタワーハンドオフおよび三角測量に依存する。したがって、ユーザーが遠距離を移動していない場合や、セル受信が限られているエリアにいる場合は、このバックグラウンドモードがうまく機能するとは思わないでください。
その他の背景オプションは、-startMonitoringRegionです。これにより、場所の周りに円ベースの領域を作成し、-Regionまたは-exitRegionのときに通知を受け取ることができます。これらは、すべてバックグラウンドに入る前に設定する必要があります。彼らはより良い場所の更新の追加の利点があります。 WiFiの変更、セルタワーのハンドオフ、さらにはロケーションアップデートを使用する他のアプリなどがあります。 OSはすべての場所の更新情報を取得し、それらをダウンロードして、OSに登録されているどの地域でも利用できるようにします。
位置情報の更新をバックグラウンドで実行するオプションはありますが、30分の使用後にバッテリーがないことには感謝しません。
幸運。 SOとWeb上でこれらのすべてを達成する方法の例がたくさんあります。トリックは、あなたのために適切な組み合わせを見つけることです。がんばろう。
ありがとう、私は問題を解決する – icefox