2014-03-17 3 views
0

Я работаю с примером приложения для функции мониторинга области iBeacon. Проблема (не уверена, что она), которую я не смог разрешить, - «didEnterRegion:» срабатывает непрерывно более 2 раз, когда я вхожу в регион. Это происходит, когда вы отправляете локальное уведомление более одного раза или время, которое этот метод срабатывает, когда приложение находится в режиме минимизации.Проблема iBeacons: несколько раз вводили триггеры области

Может ли кто-нибудь сказать мне, как это решить.

Спасибо,

+0

У вас есть несколько объектов locationManager? В документе Apple указано, что если несколько объектов locationManager совместно используют делегат, делегат получит несколько уведомлений. – Paulw11

+0

Существует только один объект LocationManager. –

ответ

2

Это характерно для глюка в прошивке, чтобы вызвать событие didExitRegion последовало за секунду с помощью события didEnterRegion. Вы можете отфильтровать их в своем коде, сохранив в переменной NSDate время, когда вы последний раз покинули регион. Когда вы получаете обратный вызов didEnterRegion, вы просто игнорируете его, если временная метка выхода была в течение последних нескольких секунд.

Если вы действительно получаете эти постоянно, как вы говорите, что-то еще не так, что вам может понадобиться исправить. Возможно, ваш iBeacon не передает по крайней мере один раз в три секунды. Это вызовет постоянные обратные вызовы выхода/ввода.

Смежные вопросы