Почему устройства Bluetooth classic и LE получают одно и то же имя на iOS? - PullRequest
0 голосов
/ 16 мая 2018

У меня есть iphone и периферия. Я строю периферию. Периферийное устройство имеет классическое название Bluetooth "FOO". В рекламе LE имя "LE FOO".

Приложение BLE Explorer на iphone обнаруживает периферийное устройство с именем «LE FOO». После открытия соединения BLE через приложение в меню сопряжения также отображается устройство. Пока все хорошо.

Теперь одна запись внезапно меняется с «LE FOO» на «FOO», и у меня два устройства с одинаковым именем! Почему?

И более того: как мне это предотвратить? Я знаю, что это возможно, потому что у меня есть стороннее устройство, которое может иметь два разных названия для LE и classic. Но как?

Есть идеи?

Спасибо.

1 Ответ

0 голосов
/ 18 мая 2018

Подсказка Эмиля сделала меня на правильном пути:

В рекламе LE имя было "LE FOO". Таким образом, iPhone сначала показал правильное имя. После установления соединения iOS автоматически запрашивает характеристику имени устройства в фоновом режиме. Эта характеристика вернула «FOO» вместо «LE FOO».

Так сказать, ошибка на моей стороне. Обратный вызов для этой характеристики был реализован вручную с неверной константой.

...