Search code examples
iosexternal-accessorymfimidi-interface

EAAccessoryManager does not read MFI accessory


I wanted to make an app that communicates with MIDI interface accessories for iOS. I bought an MFI licensed device (iConnectMidi), plugged in, and created a simple project that calls [[EAAccessoryManager sharedAccessoryManager] connectedAccessories] after app launch, but was not able to get accessories read in. I was wondering if anyone that has similar experience can shed some light on this?


Solution

  • As par mentioned in the comments above, if you don't specify the protocol string in the plist, the app won't recognize the device. In my case I am using a MFI midi interface, the EAAccessoryManager won't read the device because I don't have any protocol setup for the UISupportedExternalAccessoryProtocols field in the plist file. However, I was able to detect the device using the CoreMidi framework. There's a little sample code I found https://github.com/petegoodliffe/PGMidi, if anyone ever comes to the same confusion I had.