Используя CoreBluetooth, можно получить необработанную запись сканирования устройства Bluetooth LE

Я пытаюсь лучше понять Bluetooth LE и играть с iOS и Android bluetooth-стеками и различными маяками (StickNFind, Estimote и т.д.).

  • На Android, когда устройство обнаружено, я получаю необработанную "запись сканирования" - блок данных, который я могу проанализировать самостоятельно, чтобы получить рекламируемые устройства.
  • В iOS это анализируется iOS и представляется в виде словаря.

Достаточно справедливо, за исключением того, что я пытался использовать CoreBluetooth (т.е. Не службы определения местоположения) для чтения рекламных данных из iBeacon и заметил, что iOS, по-видимому, лишает данные рекламы конкретного производителя для устройств iBeacon.

Я понимаю, что я, вероятно, должен использовать Apple, санкционированные для обнаружения iBeacons, но это не очень подходит для нашего случая использования и интересно, есть ли способ вокруг него.

1 ответ

EDIT: iOS позволяет вам получить доступ к необработанным данным для любой рекламы Bluetooth, которая не соответствует формату iBeacon.

К сожалению, iOS блокирует доступ к необработанным данным всех рекламных объявлений BLE , в том числе iBeacons. Это делает невозможным доступ к идентификаторам iBeacon с помощью CoreBluetooth.

Подробнее см. В этом сообщении в блоге.

licensed under cc by-sa 3.0 with attribution.