2016-09-21 6 views
0

推定ビーコンを使用すると、didEnterRegionから複数のローカル通知が発せられます。私はすべての私のビーコンが存在する範囲を&モニタ1の範囲に限定しています。didEnterRegionの単一のローカル通知

この機能を制限して、ユーザーが地域内で一度だけ通知を受けるようにしようとしています。私はこれに対応するdidExitRegionイベントがあるので、これはすぐに使える機能だと思うでしょう。本質的には、地域内では1つの通知しか受け取りません。

私はこの動作が表示されません。イベントdidEnterRegionは、物理的に領域内にいる間に複数回起動します。だから私は最初に0に設定されているカウンタを実装し、私がdidEnterRegionのたびに1ずつインクリメントします。私はカウンタが< 1のときに地方の通知を発することを許可します。

しかし、これは私に不思議に思っています。アプリが実行されていないときにこれはどのように機能しますか?また、このようにして(すなわち、didExitRegionでカウンタを0にリセットしないと)、物理的に地域に出入りする時間に関係なく、自分の携帯電話でアプリが存在する間だけ1回だけ通知しますアプリがインストールされていて実行されていない)私はその地域にいる間に一度だけ知らせたいのですが、一般的に一度ではありません。

私はこれとはっきりと混同していますので、フィードバックをお待ちしております。

答えて

0

ESTBeaconManager/CLLocationManagermonitoredRegionsプロパティを調べて、同じビーコンを何回も監視していないことを確認してください。

+0

「検査中」と言ったら?それは私がカウンターなどを保持する必要はないことを意味するのでしょうか? – Polis

+0

ああ..ちょうどこれを見たhttps://forums.estimote.com/t/methods-didenterregion-called-multiple-times/3074 – Polis

+0

それを調べる最も簡単な方法は私が推測するコンソールにそれを印刷することです: – heypiotr