iOS / Swift: автоматическое сопряжение с классическим устройством Bluetooth

Мы создаем настраиваемое устройство Bluetooth, которое поддерживает как Bluetooth Classic для громкой связи, так и Bluetooth LE для других функций. Я могу подключиться и общаться с устройством через Bluetooth LE, однако прямо сейчас пользователь должен вручную выполнить сопряжение с устройством в настройках, чтобы гарнитура работала. Как и Apple Watch, возможно ли автоматическое сопряжение с устройством через Bluetooth Classic, когда устройство выбрано из списка доступных устройств Bluetooth LE?

В принципе, вот как мы хотим, чтобы это работало.

  1. Пользователь запускает приложение впервые.
  2. Пользователь перенаправляется на экран регистрации и регистрирует свой телефон в нашей среде.
  3. Пользователь попадает в панель управления приложениями, а затем нажимает кнопку настроек приложения.
  4. В настройках пользователь щелкает «Периферийные устройства Bluetooth» и попадает на экран со списком устройств BLE в зоне действия.

Вот где должно произойти новое волшебство:

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

Любая помощь приветствуется.

Я изучил структуру внешних аксессуаров, однако мне не удалось заставить ее работать должным образом. Приложение продолжало отказывать, говоря мне, что "init" недоступен или что-то в этом роде.

Спасибо.


person recoilnetworks    schedule 01.12.2015    source источник


Ответы (1)


Мы пытаемся сделать то же самое, и похоже, что вы можете подключить устройство громкой связи, работающее через профиль HFP, только если вы покинете свое приложение, зайдете в настройки Bluetooth в Settings.app и коснетесь устройства там. Из приложения это абсолютно невозможно. Все поставщики громкой связи, которые я недавно проверял (Jabra, Parrot и т. Д.), Делают это так.

Единственное, о чем я могу думать, - это выполнить сопряжение через BLE, отправить имя iPhone на свой аксессуар для громкой связи через BLE, открыть экран настроек Bluetooth в Settings.app и дождаться, пока аксессуар обнаружит iPhone и подключится к нему со своей стороны. . Это избавит вашего пользователя от прикосновения, но ему все равно придется открывать Settings.app (вручную, черт возьми, даже не через системное предупреждение).

ExternalAccessory.framework используется для подключения к устройствам, зарегистрированным в программе MFi. Это абсолютно не связано с устройствами громкой связи, работающими с профилем HFP.

person Zmicier Zaleznicenka    schedule 09.02.2016