3

startMonitoringSignificantLocationChangesを使用して、重要な場所の変更をリッスンするようにアプリを設定しましたCLLocationManager

そのため、デバイスの場所が大幅に変更された場合、アプリはこの変更を処理するために実行時間を取得します。しかし、どのようなメソッドUIApplicationDelegateが呼び出されますか?applicationDidEnterBackgroundapplicationWillEnterForeground

私はMacBookを持っておらず、これらの場所の変化をシミュレートすることはできないので、このようなものをテストするのは苦痛です。

4

1 に答える 1

3

startMonitoringSignificantLocationChangesドキュメント

このメソッドは、ロケーションイベントの配信を非同期的に開始し、呼び出した直後に戻ります。ロケーションイベントは、デリゲートのlocationManager:didUpdateToLocation:fromLocation:メソッドに配信されます。配信される最初のイベントは、通常、最後にキャッシュされたロケーションイベント(存在する場合)ですが、状況によっては新しいイベントになる場合があります。現在のロケーションフィックスの取得にはさらに数秒かかる場合があるため、デリゲートメソッドのロケーションイベントのタイムスタンプを必ず確認してください。

CLLocationManagerDelegateに関連付けられた遅延メソッドを実装する必要があります。それまで、アプリケーションは適切に応答しません。

于 2010-11-03T18:54:56.123 に答える