После успешного подключения BLE через CoreBluetooth, как программно подключить классический Bluetooth

Я реализовал соединение ble через основную структуру Bluetooth, и оно работает нормально. Теперь в приложении настроек, если устройство Bluetooth обнаружено, я хочу автоматически установить классическое соединение Bluetooth для этого устройства через приложение (программно).

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

Любая помощь будет высоко ценится. Заранее спасибо!


person Gypsa    schedule 31.07.2017    source источник
comment
Нет доступа к классическому bluetooth из iOS-приложений   -  person Paulw11    schedule 31.07.2017
comment
@Paulw11 В приложении boseconnect реализована та же функция, любая идея...   -  person Gypsa    schedule 31.07.2017
comment
Устройства Bose сертифицированы MFi, поэтому я предполагаю, что они используют внешнюю вспомогательную структуру.   -  person Paulw11    schedule 31.07.2017
comment
ExternalAccessory.framework должен помочь?   -  person Larme    schedule 31.07.2017
comment
@Larme Я не уверен насчет ExternalAccessory.framework, и я перепутал с вашим?, вы отвечаете или спрашиваете, если у вас есть пример кода, пожалуйста, опубликуйте в качестве ответа. Это будет очень полезно.   -  person Gypsa    schedule 31.07.2017
comment
developer.apple.com/documentation/externalaccessory/ ?   -  person Larme    schedule 31.07.2017
comment
Средство выбора аксессуаров @Larme не отображает никаких устройств, у меня включены bose и другие динамики. даже после их подключения они не отображаются в списке. Пожалуйста, помогите.   -  person Gypsa    schedule 31.07.2017
comment
@Larne, у вас есть идеи, какую строку я должен ввести в строку протокола в info.plist или я должен получить это.   -  person Gypsa    schedule 01.08.2017
comment
Используйте [[EAAccessoryManager sharedAccessoryManager] connectedAccessories], перечислите устройства и напечатайте их protocolString (это свойство EAAccessory)   -  person Larme    schedule 02.08.2017
comment
@Larne массив дает 0 элементов.   -  person Gypsa    schedule 03.08.2017


Ответы (1)


Для iOS, насколько мне известно, нет никакого способа. Если у вас есть контроль над периферийным устройством, есть обходной путь:

После сопряжения BLE периферийное устройство узнает общедоступный адрес Bluetooth вашего iDevice. Теперь ваше периферийное устройство может инициировать классическое сопряжение с другой стороны. На iOS вы получите экран сопряжения.

person maze    schedule 17.05.2018