web-dev-qa-db-ja.com

iOSのバックグラウンドGPS。これは可能ですか?

実行されていない、または少なくともバックグラウンドで実行されているアプリでiPhoneの場所を取得できるかどうか疑問に思いました。私がやりたいのは、iPhoneが特定の座標に到達したときにプッシュ通知を送信することです。これは可能ですか?もしそうなら、誰かが私を正しい方向に向けることができますか?

ありがとう、ベン

27
Ben Cohen

はい、可能です。アプリケーションは、重要な位置の変更を通知するように要求することも、バックグラウンドで実行している間はGPSの使用を継続するように要求することもできます。前者(Appleが推奨するアプローチ)は、精度を犠牲にして消費電力が少なくなります( this ブログ投稿では、更新が約500mまで正確であることが示されています)が、後者はデバイスが管理できる限り正確です。 。これはすべて iOSアプリケーションプログラミングガイド および ロケーション認識プログラミングガイド で詳しく説明されています。

デバイスが特定のリージョンに移動したときにアプリケーションに通知するだけの場合は、CLLocationManagerの-​​ startMonitoringForRegion:desiredAccuracy: 。デバイスが特定の地理的地域に移動すると、アプリが起動します(実行されていない場合でも!)。

51
Chris Doble