【问题标题】:EAAccessoryManager does not read MFI accessoryEAAccessoryManager 不读取 MFI 附件
【发布时间】:2017-02-25 17:52:28
【问题描述】:

我想制作一个与 iOS 的 MIDI 接口配件通信的应用程序。我购买了 MFI 许可设备 (iConnectMidi),插入并创建了一个简单的项目,在应用程序启动后调用 [[EAAccessoryManager sharedAccessoryManager] connectedAccessories],但无法读取附件。我想知道是否有类似经验的人可以解释一下对此?

【问题讨论】:

  • 我认为除非您是许可证持有者,否则您无法与 MFI 设备进行通信。否则任何人都可以编写代码与任何设备通信,这显然是一个安全漏洞。
  • 但是有些配件(比如我买的那个)可以和很多应用一起使用,那怎么可能呢?
  • 好的,您是否将协议说明符添加到您的 Info.plist(通过 UISupportedExternalAccessoryProtocols)?
  • 嗯,我没有...似乎唯一的方法是从制造商那里获得它,但我必须拥有它吗?我尝试在此设备上使用其他应用程序并且它可以工作。我不认为其他开发人员都有这个制造商的协议字符串。除非midi接口有一个通用的吗?
  • 我怀疑,Apple 有一个 MIDI 框架,请参阅developer.apple.com/reference/coremidi

标签: ios external-accessory mfi midi-interface


【解决方案1】:

正如上面 cmets 中提到的,如果您没有在 plist 中指定协议字符串,应用程序将无法识别设备。在我的情况下,我使用的是 MFI midi 接口,EAAccessoryManager 不会读取设备,因为我没有为 plist 文件中的 UISupportedExternalAccessoryProtocols 字段设置任何协议。但是,我能够使用 CoreMidi 框架检测到设备。我找到了一些示例代码https://github.com/petegoodliffe/PGMidi,如果有人遇到过和我一样的困惑的话。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多