Можно ли узнать, отклонил ли пользователь соединение Bluetooth на iOS?

Поэтому я разрабатываю приложение, которое взаимодействует с периферийным устройством Bluetooth, и я столкнулся с проблемой, что в настоящее время нет никакого способа узнать, отклонил ли пользователь запрос на сопряжение периферийного устройства или нет.

Текущий поток, который реализован:

  1. Сканирование на периферию
  2. Подключите к периферийному устройству
  3. Откройте для себя услуги
  4. Обнаружение характеристик (запрос на сопряжение здесь отправляется периферийным устройством, а ОС представляет всплывающее окно разрешения на сопряжение)
  5. Читать из характеристик

Я хотел бы представить состояние ошибки, если пользователь отклоняет запрос на сопряжение, но я не могу сказать, произошло ли это:

  • На CBCentralManagerDelegate или CBPeripheralDeleagate не выполняется обратный вызов ошибки
  • Все характеристики обнаруживаются независимо от того, был ли принят анализ
  • Чтение из / запись в характеристики молча завершается сбоем: то есть периферийное устройство просто не возвращает значение при чтении характеристики, но нет утвердительной ошибки, чтобы сообщить мне, что это из-за ошибки разрешения.

Согласно этой статье это означает, что нет прямого способа узнать, что запрос на сопряжение был отменен.

Согласно этому ответу, похоже, что в настоящее время нет прямого способа определить, подключено ли периферийное устройство в iOS.

Есть ли какой-либо известный способ решения этой проблемы?

0 ответов

Другие вопросы по тегам