Радиомаяк и BLE сканирование - PullRequest
0 голосов
/ 03 апреля 2019

Я пытался понять разницу между ранжированием маяков и сканированием BLE.Из того, что я понимаю, ранжирование маяков использует сканирование BLE, чтобы найти маяки.Кроме того, он рассчитывает близость маяков, используя уровень сигнала (который мне не нужен).Мне просто нужно обнаружить маяки (аналогично мониторингу маяков).Я не использую мониторинг маяка из-за требования разрешения Always в IOS.Я знаю, что мониторинг маяков высоко оптимизирован по сравнению с диапазоном, но я хотел узнать, как ранжирование сравнивается со сканированием BLE.

  • Могу ли я использовать BLEModule.scanForDevices(UUID) вместо CLLocationManager.startRangingBeacons(region) для обнаружения маяков?Если да, могу ли я получить обратные вызовы аналогичным образом при обнаружении маяка?
  • Есть ли какие-либо недостатки в этом с точки зрения производительности батареи или времени обнаружения и т. Д .?

    Примечаниечто я готов обойтись без информации о близости (расстояние от маяка).

Также, связанный вопрос:

  • Может ли мониторинг маяка использоваться на переднем планес разрешением WhenInUse в iOS? (я обнаружил смешанные взгляды на это в моем первоначальном исследовании)

1 Ответ

1 голос
/ 03 апреля 2019

Вы не можете использовать сканирование Core Bluetooth для обнаружения iBeacon.Вы должны использовать Базовое Местоположение и контролировать CLBeaconRegion, чтобы обнаружить iBeacons.

Обнаружив маяк, вам не нужно увеличивать его расстояние.

Как указано в Документация Apple

Важно

Приложения должны всегда иметь разрешение на использование мониторинга региона, иони должны быть настроены для запуска фонового режима обновлений местоположения.

Даже если вы хотите, чтобы уведомление маяка было только тогда, когда ваше приложение находится на переднем плане, вы должны запросить разрешение всегда .

...