2016-08-17 3 views
2

Я пытаюсь разработать приложение IOS для обнаружения Eddystone, а также iBeacons. Для реализации я использовал как Corelocation, так и Corebluetooth. Я хочу обнаружить маяки в фоновом режиме и, следовательно, настроить фоновый режим. Я наблюдаю, что через несколько минут на заднем плане частота сканирования в значительной степени уменьшается (раз в 5 минут). Есть ли способ установить частоту фонового сканирования для приложений IOS? 5 минут, похоже, долгое время для использования приложения, которое я разрабатываю. Кроме того, есть ли способ пробудить приложение, если другой маяк находится в радиусе действия?Eddystone/iBeacon Скорость сканирования фонового изображения IOS

ответ

3

Сканирование устройств BLE на iOS с использованием CoreBluetooth в фоновом режиме может быть относительно медленным, как вы предлагаете. Ваше 5-минутное время обнаружения не является чем-то необычным. Сам по себе CoreBluetooth не дает вам возможности увеличить эту частоту. CoreLocation, однако, намного оптимизирован для скорости обнаружения, но он ограничен форматом iBeacon.

Одна вещь, которую вы можете сделать, это объединить маяки, которые посылают в IBeacon рамку (для скорости) с радиомаяков, которые посылают в Eddystone рамку (для других целей). Если вы начнете оценивать маяки, когда вы получите фоновое событие мониторинга iBeacon, вы обнаружите, что время обнаружения Eddystone также ускорилось. Этот трюк позволяет запускать сканирование CoreBluetooth с использованием CoreLocation - под капотом они действительно одинаковы.

+0

Моя основная цель - обнаружить новый адрес Eddystone как можно быстрее в фоновом режиме. Поэтому, если я перехожу из одной комнаты в другую, так что мне не нужно ждать 5 минут для обнаружения нового адреса. Если я сделаю какое-то излучающее устройство, испускающее iBeacon и Eddystone и использую CoreLocation для обнаружения изменений, я бы мог сканировать Eddystone в то же время, что вы имеете в виду? Если вы пробовали это раньше, как быстро приложение сможет обнаруживать изменения в адресе Eddystone с точки зрения времени? Спасибо –

+0

Я не оценил, насколько это быстро, но я бы предположил, что это будет похоже на сканирование переднего плана с помощью CoreBluetooth. – davidgyoung

+0

@ davidgyoung, Не могли бы вы рассказать, как мне объединить iBeacon & Eddystone? Так что я могу получить url из eddystone, когда приложение находится в фоновом режиме. –