objective-cipadbluetoothios10eaaccessory

connectedAccessories returns empty array after upgrade to iOS10


I've upgraded an iPad app to support iOS10. The app is used to connect to a MFI supported bluetooth device.

Since the upgrade, [[EAAccessoryManager sharedAccessoryManager] connectedAccessories] is returning null (even when the setting menu shows connected devices).

Since this App worked before with the same devices, I'm assuming that the code, the MFI chip and the info.plist data are correct.

I believe previous posts on null connectedAccessories are not relevant to a case where it worked fine before the iOS upgrade.

Any ideas what could have changed?


Solution

  • Ok, I've found what changed.

    Starting with iOS10, the plist.info field UISupportedExternalAccessoryProtocols is case-sensitive.

    I fixed it to exactly match the actual device protocol, and now connectedAccessories works again.

    This thread from Apple developer forums helped