Как программно взаимодействовать с собственными профилями Bluetooth iOS?

iOS изначально поддерживает несколько профилей Bluetooth, как описано здесь http://support.apple.com/kb/HT3647. Вопрос в том, как мне программно общаться с родными профилями iOS Bluetooth?

Например, предположим, что я хочу создать приложение, которое удаленно управляет воспроизведением мультимедиа на другом устройстве iOS через Bluetooth. В приложении будут кнопки «Воспроизведение», «Пауза» и «Стоп». Это аналогично физическому периферийному устройству Bluetooth с кнопками воспроизведения мультимедиа. Поскольку iOS поддерживает профиль Bluetooth AVRCP, должен существовать способ программной связи с ним, чтобы указать удаленному устройству iOS воспроизводить, приостанавливать или останавливать воспроизведение мультимедиа.

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


person Oak    schedule 21.10.2014    source источник
comment
Вы не взаимодействуете с устаревшими устройствами Bluetooth, используя Core Bluetooth. В случае AVRCP пользователь подключает устройство с помощью настроек, а затем вы можете получить к нему доступ через структуру аудиосессии. Например, stackoverflow.com/questions/10873267/   -  person Paulw11    schedule 21.10.2014
comment
Но как физическое периферийное устройство Bluetooth взаимодействует с устройством iOS? Например, физическая клавиатура сначала подключается к устройству iOS, а затем может управлять воспроизведением на устройстве iOS с помощью кнопок воспроизведения, паузы и остановки. Поэтому я хотел бы сделать то же самое, что и физическое периферийное устройство Bluetooth, но в программном обеспечении (приложение iOS на другом устройстве iOS).   -  person Oak    schedule 22.10.2014
comment
Для этого вам потребуется, чтобы ваше другое устройство iOS работало как HID (устройство с интерфейсом пользователя) через Bluetooth. Это не поддерживается.   -  person Paulw11    schedule 22.10.2014
comment
Хорошо, похоже, что это может сделать только физическое периферийное устройство Bluetooth. Я предполагаю, что физические устройства могут делать это с помощью программы Apple MFi?   -  person Oak    schedule 22.10.2014
comment
Нет, стандартные профили, HID, потоковое аудио, гарнитура/громкая связь не поддерживаются MFi. Вероятно, вы могли бы делать то, что хотите, с одним и тем же приложением, работающим на обоих устройствах и обменивающимся данными через Bluetooth или WiFi — вы могли бы использовать инфраструктуру Multipeer.   -  person Paulw11    schedule 22.10.2014
comment
Но чего я не понимаю, так это того, как физическое устройство Bluetooth может это сделать, а программное обеспечение — нет. Что позволяет физическому устройству Bluetooth изменять громкость, например, на iPad. И почему нельзя сделать то же самое с помощью программного обеспечения?   -  person Oak    schedule 05.11.2014
comment
iOS не предоставляет API-доступ к оборудованию Bluetooth на уровне, необходимом для работы в качестве устаревшего устройства Bluetooth.   -  person Paulw11    schedule 05.11.2014