Интересно, замедляется ли сканирование iOS Bluetooth, когда ваше приложение находится в фоновом режиме, так что кажется, что события никогда не срабатывают, потому что они происходят так долго. Перезагрузка может ускорить цикл.
Один из способов заставить цикл сканирования Bluetooth LE искать iBeacons — запустить другое приложение на переднем плане, которое использует API ранжирования CoreLocation iBeacon.
Попробуйте установить Найти iBeacon, а затем, как как только ваше приложение перестанет получать уведомления в basckground, запустите «Найти iBeacon» и нажмите «Найти iBeacons». Вы видите iBeacons? Получает ли ваше фоновое приложение уведомление?
Если это сработает, повторите тест и вместо использования приложения Locate для принудительного сканирования просто подождите (при необходимости час). Посмотрите, получите ли вы в конечном итоге свое уведомление, и отметьте, сколько времени это заняло.
Редактировать: похоже, это тот случай, когда iOS перестает искать iBeacons, полностью требуя перезагрузки. См. соответствующий вопрос ниже.
iBeacon: didRangeBeacons останавливается когда вам звонят, необходимо перезагрузить устройство, чтобы оно снова заработало
person
davidgyoung
schedule
04.04.2014