У меня есть приложение, которое должно обнаруживать соседние (в диапазоне для Bluetooth LE) устройства с одним и тем же приложением и iOS 7.1. Я рассмотрел две альтернативы для обнаружения:
- Наличие устройств iBeacons и обнаружение iBeacons в диапазоне
- Использование CoreBluetooth (например, в реализации Vicinity здесь) для создания периферийного устройства BLE, рекламы и сканирования периферийных устройств.
Кажется, что вариант 1 не может быть и речи, потому что:
- Для iOS может потребоваться не менее 15 минут для обнаружения входа в зону маяка, когда приложение работает под управлением фона (iOS 7.1).
Вариант 2 кажется способным, но есть некоторые трудности в реализации:
- Кажется, что iOS изменяет периферийный UUID в рекламных пакетах через определенный промежуток времени (около 15 минут?). Это означает, что невозможно напрямую идентифицировать рекламное устройство от рекламного сигнала вещания.
В связи с этим у меня есть следующие вопросы:
- Есть ли какие-либо другие способы реализации обнаруженного устройства, которые я не рассматривал?
- Можно ли идентифицировать устройство посредством рекламы (или каким-либо другим способом), чтобы вариант 2 работал?