Is the supported external protocol necessary in info.plist for supporting a BT keyboard?

722 views Asked by At

Without any additional UISupportedExternalAccessoryProtocols ("supported external accessory protocols") in info.plist, connecting a BT keyboard to iOS works fine with interacting with UI controls.

However, when it's connected, I don't see anything in EAAccessoryManager::connectedAccessories (the array itself is nil), and therefore do not receive notifications of external accessory connection/disconnection with the BT keyboard is powered on/off.

Maybe I'm expecting too much here, but is it possible that iOS considers the app unable to actually interact with the BT keyboard since it's not listed in info.plist and therefore won't publish it via EAAccessoryManager, yet since the UI framework is privileged, it will still be aware that it's there and use it for text field interaction?

1

There are 1 answers

0
Samuel Peter On

The bluetooth related part of the ExternalAccessory framework allows you to connect to devices that are MFi approved and use iAP, Apple's proprietary substitute for SPP. The keyboard probably uses the HID profile, which means that you won't be able to connect to it from your application.