MFI 附件通过 USB 与 App 通信

Posted

技术标签:

【中文标题】MFI 附件通过 USB 与 App 通信【英文标题】:MFI Accessory communicate with App via USB 【发布时间】:2015-08-01 08:23:41 【问题描述】:

如何与MFI Accessory通过USB通讯?

这就是我所拥有的。

    我的MFI 附件,其他公司的MFI 附件和协议名称

    EADemo(苹果官方配件演示)

这就是我所做的。

    在 EADemo 的 EADemo-Info.plist 中将协议名称添加到Supported external accessory protocols

    使用其他附件运行 EADemo,发送数据,receivedBytesLabel 的文本不断变化。

当我使用我的配件运行 EADemo 时,单击发送数据,UI 没有任何变化。

我的同事(硬件开发人员)说我应该在连接到配件后设置接口(如更改通信隧道),以便我可以与配件通信。但是我查看了 EASession 和 ExternalAccessory 文档,我找不到一些可以让我更改界面的方法。不知道是我没设置界面的问题,还是配件的问题?

我的应用如何与 MFI 配件通信?

【问题讨论】:

您是直接将设备连接到 Lightning 还是使用 Lightning 转 USB 数据线? 照明我认为。因为照明是集成在配件上的。 那么您的配件上有闪电连接器,为什么要提到 USB? 【参考方案1】:

因为没有人经历过这种情况。我将解释如何以正常方式与MFI配件通信以及导致我出现这种情况的原因

通常如果您想使用 MFI 设备,您只需要执行以下步骤:

    将 MFI 支持的协议添加到 Info.plist Supported external accessory protocols

    将您的 MFI 配件连接到 ios 设备。

    就是这样。您可以在屏幕上查看数据更改状态。

Note:这些程序基于Apple官方项目EADemo,您可以从官方网站下载。

这是我的经历:

MFI配件支持2种协议,一种是连接事件,另一种是数据交换(就像我同事之前说的,应该有2个接口)。但制造商没有给出具体文件。所以当我连接一个协议时,当然没有数据交换。所以我连接第一个协议,然后退后一步,连接到第二个。可以了,屏幕上有数据交换状态。

【讨论】:

您为一个配件创建了两个 EASession 对象? 嗨@ronan ..我处于同样的情况。我需要在我的 iOS 应用程序中通过 USB 访问我的 MFI 配件。目前我已经使用了 EADemo,我可以完全访问我的 MFI 配件。你能帮我解决这个问题吗? 好的。但我没听懂你在说什么。正如您所说,您已经可以访问该附件。

以上是关于MFI 附件通过 USB 与 App 通信的主要内容,如果未能解决你的问题,请参考以下文章

与 iOS 外部附件的串行通信(无身份验证协处理器)

iOS 外部附件框架:如何获取特定 MFI 设备的协议字符串

使用 iOS 外部附件协议在外部附件上支持多个应用程序

是否可以在 iPAD 外部附件设备中添加以太网接口?

iOS 11.2.1 上的 EAAccessory 问题 外部附件未通过 Lightning 连接器将数据写入 MFi 设备

iOS 上 MFi 认证蓝牙设备的确认行为