Итак, я разрабатываю приложение, которое взаимодействует с периферийным устройством Bluetooth, и я сталкиваюсь с проблемой, что в настоящее время нет никакого способа узнать, отклонил ли пользователь запрос на сопряжение периферийного устройства.
Текущийреализован поток:
- сканирование периферийных устройств
- подключение к периферийным устройствам
- поиск услуг
- поиск характеристик (запрос на соединение отправляется здесьпериферийное устройство и операционная система отображают всплывающее окно разрешения на сопряжение)
- Чтение из характеристик
Я хотел бы представить состояние ошибки, если пользователь отклоняет запрос на сопряжение, но я не хочупохоже, что он может сказать, произошло ли это:
- На CBCentralManagerDelegate или CBPeripheralDeleagate не выполняется обратный вызов ошибки
- Обнаружены все характеристики, независимо от того, было ли принято определение
- Чтение из / запись в характеристики молча завершается неудачей: т.е.Rral просто не возвращает значение при чтении характеристики, но нет утвердительной ошибки, сообщающей мне, что это из-за ошибки разрешения.
Согласно этой статье это указывает на то, что нет прямого способа узнать, что запрос на сопряжение был отменен.
Согласно этот ответ выглядит так, как будто в настоящее время нет прямого способа определить, является ли периферийное устройствов iOS.
Есть ли какое-нибудь известное решение этой проблемы?