startMonitoringForRegion:
との組み合わせを使用してstartMonitoringSignificantLocationChanges
、アプリがバックグラウンドにあるときにユーザーがどこにいるかを認識し続けるアプリがあります。これは、キーのlocation
値を?に含める必要があることを意味しますか?UIBackgroundModes
Info.plist
これはドキュメントからの引用です:
高精度の位置データを必要としないアプリには、大幅変更位置情報サービスを強くお勧めします。このサービスでは、ユーザーの場所が大幅に変更された場合にのみ、場所の更新が生成されます。したがって、ソーシャルアプリや、重要ではない場所に関連する情報をユーザーに提供するアプリに最適です。更新が発生したときにアプリが一時停止された場合、システムは更新を処理するためにアプリをバックグラウンドでウェイクアップします。アプリがこのサービスを開始して終了した場合、新しい場所が利用可能になると、システムはアプリを自動的に再起動します。このサービスはiOS4以降で利用でき、セルラー無線を搭載したデバイスでのみ利用できます。
..。
ユーザーに継続的な位置情報の更新を提供するアプリ(バックグラウンドにある場合でも)は、Info.plistファイルにUIBackgroundModesキー(位置情報を含む)を含めることで、バックグラウンドの位置情報サービスを有効にできます。UIBackgroundModesキーにこの値を含めても、システムがアプリを一時停止することを妨げることはありませんが、配信する新しい位置データがあるたびにアプリをウェイクアップする必要があることをシステムに通知します。したがって、このキーを使用すると、アプリをバックグラウンドで効果的に実行して、場所の更新が発生するたびに処理できます。
私の解釈ではlocation
、キーの値は、UIBackgroundModes
衛星測位アプリのように、アプリが継続的な位置情報の更新を必要とする場合にのみ必要です。
location
また、キーの値を指定せずにデバイスでアプリを実行しようとしましたがUIBackgroundModes
、重要な場所の変更と、リージョンが開始または終了したときのレポートが引き続き表示されます。
また、 CLLocationManagerクラスリファレンスUIBackgroundModes
で言及されている唯一の場所は、私が使用していないディスカッションです。startUpdatingLocation