Как эстимот / контакт идентифицирует конкретный маяк? - PullRequest
0 голосов
/ 18 октября 2018

Я использую iBeacon на iOS, я пытаюсь идентифицировать каждый маяк, чтобы прикрепить некоторую информацию в зависимости от каждого маяка, например, я пытаюсь получить местоположение из MAC-адреса или даже имени маяка.

Я не могу использовать Базовую Библиотеку Местоположения, так как она дает мне только UUID Proximity с мажорным и минорным, мне нужно что-то, чтобы сказать мне, какой маяк я сканировал.

Итак, я переключился на Базовую библиотеку Bluetooth, но тамЯ не могу получить рекламный пакет iBeacon, iOS скрывает его, если отсканированная BLE работает по протоколу iBeacon.

Вопрос в том, как Estimote, например, распознает их маяки?как я могу получить рекламные пакеты?Я хочу прочитать каждый байт и получить информацию, как я делал в Android.

1 Ответ

0 голосов
/ 18 октября 2018

К сожалению, вы просто не можете сделать это с публичными API.CoreLocation предоставляет только ProximityUUID, старший и младший.CoreBluetooth блокирует доступ к необработанным байтам любого пакета, преамбула которого совпадает с префиксом iBeacon.Ни один из API не покажет Bluetooth MAC.

. Люди-маяки часто создают приложения конфигурации, которые используют отдельную и проприетарную службу конфигурации Bluetooth GATT.Маяк может установить двустороннюю связь с телефоном, используя эту фирменную услугу, и обмениваться полями данных, сообщая вам все идентификаторы, включая MAC MAC.К сожалению, вы, вероятно, не сможете использовать такую ​​частную частную службу конфигурации, если не получите спецификации от производителя или не перепроектируете ее с помощью анализатора пакетов Bluetooth.

...