iOS - как определить, отклоняет ли устройство BLE запрос на связывание? - PullRequest
0 голосов
/ 08 ноября 2018

Вот мои настройки:

  • iPad считает, что он подключен к BLE-устройству
  • Устройство BLE (проприетарное) потеряло связь
  • Устройство BLE имеет режим готовности к соединению, который в настоящий момент имеет значение false.

Таким образом, наше приложение для iOS, полагая, что все хорошо, пытается написать характеристику в связанном сервисе устройства BLE. Я предполагаю, что, поскольку iOS считает, что связь все еще не повреждена, она отправляет характеристическую запись на устройство BLE, которое отклоняет его, потому что считает, что они не связаны. Я также предполагаю, что iOS затем отправляет запрос «давайте связать», который отклоняется устройством BLE, поскольку его режим «готового соединения» имеет значение false.

В предыдущих версиях iOS (сейчас мы работаем с 12.1) мы получали различные ошибки в этой ситуации, наиболее полезной из которых является CBATTErrorDomain Code = 15 «Шифрование недостаточно». но теперь мы просто ничего не получаем обратно. У меня есть отладочный вывод для всех различных объектов делегатов, и абсолютно ничего не запускается. Через несколько секунд мой код истекает.

Есть ли в iOS делегат или другое уведомление, которое я должен наблюдать, чтобы узнать, что запрос на связывание был предпринят и отклонен? Или, если iOS действительно настаивает на том, чтобы мое приложение НИЧЕГО не знало о связывании (что является общим случаем с подсистемой BLE), это ошибка iOS, которая не говорит мне, что моя попытка записи не удалась?

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