В отношении Деннис Мэтьюз отвечает, как вы указываете bluetooth classic вместо LE на iOS? Есть ли другой api из Core Bluetooth Framework?
Как использовать bluetooth classic вместо le
Ответ 1
Joels есть очень четкий способ использования Bluetooth classic на iOS. Это с картой внешнего аксессуара (в нее также входят прямые аппаратные соединения в дополнение к Bluetooth classic).
Вам нужно добавить ExternalAccessory.framework
и указать "App communicates with an accessory
" в требуемых фоновых режимах внутри вашего plist, чтобы начать. Следует отметить, однако, что с Bluetooth classic пользователь должен добавить ваше устройство Bluetooth из настроек системы Bluetooth. Только с Bluetooth LE мы можем добавлять устройства со стороны приложения.
Ознакомьтесь с документами на Внешней структуре аксессуаров
В ответ на ваш вопрос относительно программы MFi это должно уточнить:
Я хочу разработать приложение iOS, которое связывается с аксессуаром MFi. Нужно ли мне присоединиться к программе MFi? Нет. Разработчикам приложений iOS не нужно вступать в Программу MFi. Все, что нужно разработчикам приложений, - это внешняя инфраструктура, который предоставляется в SDK iOS. Чтобы получить доступ к SDK iOS, присоединитесь iOS Developer Program: https://developer.apple.com/programs/ios/.
Если вы хотите узнать больше, обратитесь к Часто задаваемые вопросы по MFi
Ответ 2
Если вашему внешнему аксессуару не требуется высокая пропускная способность при подключении к iOS, и вы хотите использовать (или должны использовать) 2.x/classic BT (вместо 4.x/LE/Smart, что очень низкая пропускная способность, но не требует танцев MFi), вы можете общаться, эмулируя клавиатуру BT HID в вашем аксессуаре.
Это вряд ли оптимально, тем более что обратный канал HID довольно ограничен (я думаю, что такие вещи, как подсветка ключа блокировки колпачков в базовой конфигурации клавиатуры (отображение HID page 7, если я правильно помню). OTOH, если ваша основная задача заключается в том, чтобы передавать данные на устройство iOS, отправляя данные, поскольку нажатия клавиш не были бы слишком ужасными (и могут даже рассматриваться как добродетель во время тестирования:)
HID-устройства могут объявлять дополнительные возможности в табличных таблицах, но я не уверен, может ли приложение iOS получить эти альтернативные сопоставления с санкционированными API-интерфейсами.