2012-11-22 25 views
14

startMonitoringForRegion:startMonitoringSignificantLocationChangesの組み合わせを使用して、アプリがバックグラウンドにあるときのユーザーの位置を把握しているアプリがあります。これは、キーにlocationの値をInfo.plistに含める必要があることを意味しますか?UIBackgroundModesの位置と地域の監視での重要な位置の変更

大幅変更位置情報サービスは、非常に高精度の位置データを必要としないアプリケーション用に推奨されます:

これは、ドキュメントからの引用です。このサービスでは、ユーザーの場所が大幅に変更された場合にのみ場所の更新が生成されます。このため、ユーザーに重要ではない場所関連の情報を提供するソーシャルアプリやアプリには理想的です。更新が発生したときにアプリケーションが中断された場合、システムは更新を処理するためにバックグラウンドで目を覚まします。アプリがこのサービスを開始して終了すると、新しい場所が利用可能になったら自動的にアプリが再起動されます。このサービスはiOS 4以降で利用でき、携帯電話を搭載した端末でのみ利用できます。

...

ユーザーに継続的な位置情報の更新を提供アプリ(でもバックグラウンドで)(位置の値を持つ)UIBackgroundModesキーを含めることによって、バックグラウンド位置情報サービスを有効にすることができ、そのInfo.plistファイルで。この値をUIBackgroundModesキーに含めることによって、システムがアプリケーションを中断することが妨げられるわけではありませんが、配信する新しいロケーションデータがある場合は常にシステムを起動する必要があります。したがって、このキーにより、アプリケーションがバックグラウンドで実行され、発生したときにいつでも場所の更新を処理できるようになります。この

私の解釈は、アプリが土ナビゲーションバーのアプリと同じように、連続した位置情報の更新を必要とする場合UIBackgroundModesキーのlocation値のみが必要とされることです。

私はまた、キーの値を持たないデバイスでアプリを実行しようとしました。

また、CLLocationManager Class Referenceに記載されている唯一の場所は、私が使用していないstartUpdatingLocationです。

答えて

14

あなたはlocationキーについては正しいですが、アプリがバックグラウンドであっても高精度の位置情報更新が必要な場合にのみ必要です。 Runkeeperのようなものは、あなたがマルチタスキングで別のアプリを使用しているときでも、あなたの位置を追跡し続けるためにこれを使用します。 From the docs for iOS Keys: UIBackgroundModes

「場所」:アプリは、ユーザに位置ベースの情報を提供し、この機能を実装するための標準的な位置情報サービス( 有意な変化ロケーションサービスとは対照的に)の 使用を必要とします。

そして

バックグラウンドで実行するための代替手段が存在し

は、これらの代替案を代わりに使用する必要があります。たとえば、アプリは、位置情報アプリとして登録する代わりに、ロケーションイベントを受信するために重要な位置変更インターフェースを使用することができます。

locationキーを使用しないで地域の監視が機能します。実際には、特別なiOSキーを有効にすることなく、地域の監視が機能します。

あなたはCLLocationManagerを使用していないと言いますが、地域モニタリングを使用している場合は、そのクラスを使用する必要があります。実際に地域通知を取得するには、アプリのロケーションマネージャ代理人を設定する必要があります。

+0

私は 'startUpdatingLocation'を使用していないことを意味しました。あなたにお返事いただきありがとうございます! –

+0

ああ、私はそれを持って、申し訳ありません。 –

+0

@AdamSwinden私は私のアプリでリージョンモニタリングを使用しています。ロケーションアップデートのバックグラウンドモードを使用しています。バックグラウンドモードを使用する必要がある場合、私はreviewcenterに何を伝える必要がありますか? –

-1

重要な変更ロケーションサービス(startMonitoringSignificantLocationChanges)を使用して、バックグラウンドとアプリキル状態のユーザーの場所を監視する場合は、Info.plistのBackroundモードで「location」キーを追加する必要があります。

関連する問題