Как сканировать и подключаться к iBeacon, используя BLE-сервисы в фоновом режиме - PullRequest
0 голосов
/ 13 июня 2018

У меня есть устройство iBeacon с сервисами рекламы.Мне нужно знать, как подключиться к iBeacon из приложения iOS в фоновом режиме.

  1. Я знаю UUID службы iBeacon, но не могу сканировать с использованием serviceUUID на переднем и заднем плане.mode.
  2. Если я сканирую ноль и фильтрую, используя имя, работая на переднем плане, но не на заднем плане.

Пожалуйста, помогите мне, я новичок в программировании на iOS.Есть идеи?

1 Ответ

0 голосов
/ 13 июня 2018

Не путайте ProximityUUID передачи iBeacon с UUID службы GATT. Хотя оба являются 16-байтовыми идентификаторами, обычно представленными в одном и том же шестнадцатеричном формате, оба имеют совершенно разные значения.IBeacon ProximityUUID не может использоваться в качестве UUID службы GATT.

Нет никакого требования, чтобы маяк Bluetooth, передающий кадр iBeacon, размещал какие-либо подключаемые службы GATT.Хотя некоторые производители предлагают услугу GATT в своих аппаратных маяках для настройки своих идентификаторов, а также для других целей, UUID службы GATT обычно не совпадает с ProximityUUID.

Если вы хотите делать то, что вы описываетенеобходимо:

  1. Узнайте, что ваш производитель маяков вообще обслуживает службу GATT.
  2. Это да, узнать, что такое UUID службы GATT.Опять же, обычно это не то же самое, что iBeacon ProximityUUID.

Если вы не можете получить информацию от производителя, вы можете найти ее, сканируя на переднем плане (без указанияUUID службы GATT), затем распечатывает обнаруженные идентификаторы UUID службы GATT для устройства, которое вы получаете, вызывая DiscoverServices на CBPeripheral из результатов сканирования.Вы можете обнаружить, что нет служб, которые не дали бы вам ответа на первый вопрос, указанный выше.

Получив вышеуказанную информацию, вы можете сканировать маяк в фоновом режиме, указав UUID службы GATT, когдазапуск сканирования. В фоновом режиме вы не получите результаты, если вы не укажете UUID службы GATT , и даже если вы сделаете это, результаты будут гораздо медленнее.

...