iOS では、CLLocationManager
'sstartMonitoringForRegion:
メソッドを使用してデリゲートを登録し、アプリが起動されていない場合でも、特定の地理的領域に移動するデバイスに応答できると言われています。CLLocationManagerクラスリファレンスから:
iOS では、ロケーション マネージャーに登録したリージョンは、アプリケーションの起動間で維持されます。iOS アプリが実行されていないときにリージョン クロッシングが発生した場合、システムはイベントを処理できるように、バックグラウンドでアプリを自動的にウェイクアップ (または再起動) します。再起動すると、以前に構成したすべてのリージョンが、作成したロケーション マネージャー オブジェクトの monitoringRegions プロパティで使用できるようになります。
アプリが再起動された場合、iOS は実際にはフォアグラウンドに移動しないと思います。startMonitoringForRegion
アプリケーション全体のどこに適合するかを示す良いサンプルが見つからなかったので、私の質問は次のとおりです。
startMonitoringForRegion
特定の場所からデリゲートを登録する必要がありますか? アプリをフォアグラウンドに移動せずに起動している場合、ビューコントローラーでそれをポンピングすることはできないと思います。誰かがその周りの文脈で例を挙げることができますか?- リージョンに入った結果としてアプリをフォアグラウンドに移動したいと判断した場合、どうすればよいでしょうか?
- はいつ
startMonitoringForRegion
OS に登録され、いつ登録解除されますか? 初期登録が行われるために、ユーザーはアプリを少なくとも 1 回起動する必要がありますか? ユーザーがデバイスの電源をオフにするとどうなりますか? 次にデバイスの電源を入れたときにハンドラーが登録されるか、それともユーザーがアプリを少なくとももう一度起動する必要があるか?