Сканирование трех одинаковых датчиков BLE с одинаковым CBUUID, но с разным MAC-адресом на устройстве iPhone - PullRequest
0 голосов
/ 23 сентября 2018

У меня 3 датчика с одинаковым CBUUID, т.е. все три датчика передают услуги одного типа, но имеют разные MAC-адреса.

При сканировании с использованием наземного интерфейса все в порядке, я могу использовать CBCentralManagerScanOptionAllowDuplicatesKey = YES, чтобы получить разные обратные вызовы делегата для одного и того же CBUUID на разных устройствах BLE.Но в фоновое сканирование периферийных устройств CBCentralManagerScanOptionAllowDuplicatesKey игнорируется.Как я буду сканировать эти 3 датчика в фоновом режиме, потому что все пакеты будут объединены в один и объявлены iOS как один пакет.

Эта ссылка говорит только о сканировании переднего плана

1 Ответ

0 голосов
/ 23 сентября 2018

Опция allowDuplicates означает, что ваше приложение получит несколько обратных вызовов к методу делегата didDiscover для одного и того же периферийного устройства .

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

Когда вы начинаете сканирование, вы должны указать CBUUID интересующей вас услуги . Как только вы получите вызов didDiscover Вы можете сохранить периферийное устройство identifier и использовать его для подключения к периферийному устройству в будущем.

Сканирование для определенной службы работает как на переднем, так и на заднем плане.

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