Необходим ли поддерживаемый внешний протокол в info.plist для поддержки клавиатуры BT?

Без каких-либо дополнительных UISupportedExternalAccessoryProtocols ("поддерживаемые протоколы внешних аксессуаров") в файле info.plist подключение BT-клавиатуры к iOS прекрасно работает с взаимодействием с элементами управления пользовательского интерфейса.

Однако, когда он подключен, я ничего не вижу в EAAccessoryManager::connectedAccessories (сам массив равен nil), и поэтому не получаю уведомления о подключении / отключении внешнего аксессуара с помощью клавиатуры BT, которая включена / выключена.

Может быть, я ожидаю здесь слишком многого, но возможно ли, что iOS посчитает, что приложение не может фактически взаимодействовать с клавиатурой BT, поскольку оно не указано в info.plist и, следовательно, не будет публиковать его через EAAccessoryManager, хотя структура UI привилегированный, он все еще будет знать, что он там, и использовать его для взаимодействия текстового поля?

1 ответ

Связанная с Bluetooth часть ExternalAccessory Фреймворк позволяет подключаться к устройствам, которые одобрены MFi, и использовать iAP, фирменный аналог Apple SPP. Клавиатура, вероятно, использует профиль HID, что означает, что вы не сможете подключиться к ней из своего приложения.

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