私の質問は、アプリが非アクティブな間、CLLocationManagerは実行を継続しますか?
質問する
7912 次
4 に答える
9
はい、CLLocationManager
最初にメソッドが呼び出さstartUpdatingLocation
れ、AppName-Info.plist
ファイルに追加された場合Required Background Modes -> App registers for location updates
于 2012-05-21T20:08:03.180 に答える
2
はい、できます。アプリが一時停止されたときに位置情報サービスイベントを処理するには、2つのオプションがあります。これについては、次の記事を参照してください。ユーザーの現在地の取得。述べたように:
ユーザーの現在地を取得するために使用できる2つの異なるサービスがあります。
- 標準の位置情報サービスは、構成可能な汎用ソリューションであり、iOSのすべてのバージョンでサポートされています。
- 重要な変更の位置情報サービスは、セルラー無線を備えたデバイスに低電力の位置情報サービスを提供します。このサービスはiOS4.0以降でのみ利用可能であり、一時停止中または実行されていないアプリケーションをウェイクアップすることもできます。
また、この記事の下部にある「バックグラウンドでのロケーションイベントの取得」セクションに記載されているように、次のようになります。
- アプリケーションがフォアグラウンドにあるかバックグラウンドにあるかに関係なく、アプリケーションで位置情報の更新を配信する必要がある場合は、そのための複数のオプションがあります。推奨されるオプションは、重要な場所の変更サービスを使用して、新しいイベントを処理するために適切なタイミングでアプリケーションをウェイクアップすることです。ただし、アプリケーションで標準の位置情報サービスを使用する必要がある場合は、アプリケーションをバックグラウンドの位置情報サービスが必要であると宣言できます。
- アプリケーションは、バックグラウンドロケーションサービスがないために動作能力が損なわれる場合にのみ、バックグラウンドロケーションサービスを要求する必要があります。さらに、バックグラウンドロケーションサービスを要求するアプリケーションは、これらのサービスを使用して、ユーザーに具体的なメリットを提供する必要があります。たとえば、ターンバイターン方式のナビゲーションアプリケーションは、ユーザーの位置を追跡し、次のターンを行うときにレポートする必要があるため、バックグラウンドロケーションサービスの候補となる可能性があります。
于 2012-05-21T20:06:39.773 に答える
1
アプリがバックラウンド モードのときに CLLocationManager を無効にするには、info.plist ファイルの「必要なバックグラウンド モード」キーに「アプリが位置情報の更新を登録する」を追加しないでください。
デバイスのバッテリーを節約するために、可能な限り標準の位置情報サービスの代わりに大幅な変更位置情報サービスを使用することをお勧めします。
于 2013-06-06T19:17:06.467 に答える