2

奇妙な理由で、リージョンに入ると、didEnterRegion が 10 回もトリガーされることがあります。これが発生する可能性のある理由を知っている人はいますか?境界にいる場合に発生する可能性があることはわかっていますが、Appleはそれらのポイントでトリガーしないスマートロジックを持っている可能性があります.

これどうした??

4

1 に答える 1

1

インスタンス化された CLLocationManager の複数のインスタンスがある場合を見てきました。場所を使用する必要がある複数のクラスがあるとします。アプリのライフサイクルで場所マネージャーを 4 ~ 5 回割り当て/初期化します...それらはすべてデリゲート メソッドをリッスンします。

では、インスタンスが 4 ~ 5 個しかないのに、なぜ 10 個のコールバックを取得するのでしょうか? よろしくお願いします。:p 各インスタンスに対して 2 回起動する Apple の地域監視デリゲート メソッドにバグがあると思います。

解決策は、ロケーション マネージャー デリゲート用に独自のシングルトン クラスを作成し、アプリケーション全体でロケーション マネージャーの 1 つのインスタンスのみを使用することです。これにより、4 ~ 5 x 2 のコールバックを取得できなくなります。その後、他の人と同じように2つしか取得できません。

協力したい場合は、この質問に対する私の回答でレーダーを複製してください。そうすれば、Apple に問題を完全に修正してもらうことができます。

didEnterRegion が 2 回呼び出されたのはなぜですか?

于 2013-01-02T20:49:48.430 に答える