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