0

シナリオは次のとおりです。今日の拡張ターゲットをアプリに追加しました。私のウィジェットViewControllerでは、Core Locationフレームワークを介して場所の変更をリッスンします。また、含まれているアプリには場所の変更リスナーがあります。また、最新の場所を取得するためのコールバックがあることも知っています。

optional func locationManager(_ manager: CLLocationManager!,
       didUpdateLocations locations: [AnyObject]!)

ただし、私が知りたいのは、含まれているアプリとウィジェットの両方が実行されている場合 (含まれているアプリがバックグラウンドで実行されていると仮定すると、奇妙に聞こえます)、CLLocationManager を使用して場所の変更をリッスンしている場合、メソッド locationManager:didUpdateLocations: が呼び出されることです。同時に、同じ位置データまたは何か他のものを取得しますか?(ウィジェットとアプリは事前に別のプロセスで実行されていることを知っています)よろしくお願いします。:-]

4

2 に答える 2

1

保証がないというトム・ハリントンの意見に同意します。

実際、私はおそらくもう少し進んで、多くの更新モードについて、同じ場所で同時に更新を取得する可能性は非常に低いと言うでしょう.

たとえば、拡張機能とアプリの両方で異なるdistanceFilterordesiredAccuracy値を使用するように設定した場合、それらが異なる更新を取得するのは論理的です。

両方のキーの値が同じであっても、別の時間と別の場所で開始された場合、別の時間にしきい値を超える (したがって、更新を受け取る) 可能性があります。

現在、iOS が更新を両方のプロセスに一度に送信することで最適化できる可能性があります。しかし、私は確かにそれに頼るつもりはありません。

于 2015-01-04T23:08:21.900 に答える
0

更新が同時に行われるという保証はありません。たまたま同時にあるのかもしれませんが、これが正しいとは限りませんので、あてにできません。

電話の動きが速すぎないと仮定すると、おそらく同じ場所を取得しますが、これらの更新がアプリに配信されるタイミングにはわずかな違いがある可能性があります.

于 2015-01-04T22:56:50.707 に答える