EADemo 代码中的协议字符串名称

Posted

技术标签:

【中文标题】EADemo 代码中的协议字符串名称【英文标题】:Protocol String name in EADemo Code 【发布时间】:2011-12-06 09:16:45 【问题描述】:

每当我第一次连接 MFi 附件时,我需要在 plist 文件中声明哪些协议,从哪里可以得到它的名称? 即使在连接我的 MFi 配件并运行 EADemo 代码后,它仍然显示没有连接配件? 我假设 EADemo 代码将无法工作,除非并且直到编写一些适当的与附件相关的协议字符串而不是 com.apple.p1 和 com.apple.p2。

我知道有一个名为 EAAccessory 的类并使用属性协议字符串,我可以知道协议字符串名称。但首先,即使这需要 plist 文件中列出的协议字符串名称才能运行代码。

是否需要向制造商询问协议字符串,或者是否有任何通用协议适用于所有 MFi 配件?

【问题讨论】:

你有没有进一步了解这里? 嗨...我没有进一步了解。实际上,我使用的外部配件不是 MFi 配件(即不是苹果认可的配件)。所以我的客户永远无法向我提供必须在 info.plist 文件中提及的相关协议字符串。 您好,我也面临同样的问题,您有什么解决办法吗?请告诉我。 【参考方案1】:

MFI 与 Apple 设备的流程复杂,有时制造商并未完成所有流程。根据您的描述,问题不仅是protocolString 不正确。 制造商需要做很多工作。您应该尝试其他制造商的配件。

【讨论】:

【参考方案2】:

我测试了删除支持的附件(包含com.apple.p1com.apple.p2)和EADemo 示例应用程序仍然检测到连接的附件并允许我查看它们支持的协议。

我没有测试发送数据,但就上述功能而言,我看到了相同的行为。

要回答您的一般问题,是的,如果您想与ExternalAccessory 通信,您应该在您的信息列表中指定附件的协议。

我做了更多的谷歌搜索,但找不到很多提到com.apple.p1。我唯一能找到的地方是 GitHub 上的 this project。不过我觉得这可能是Cargo Cult Programming的情况。

或者也许协议做了一些事情,我只是无法看到行为上的差异。

【讨论】:

我也有类似的问题,EAdemo 没有检测到任何东西,甚至我什至删除了 com.apple.p1/p2,如果有的话,您能否建议一些其他链接!谢谢。 @Vish 您应该创建自己的问题,因为这不是这个问题的范围。但如果 EADemo 应用程序没有检测到任何东西,我会确保您正在测试的设备实际使用 EA。

以上是关于EADemo 代码中的协议字符串名称的主要内容,如果未能解决你的问题,请参考以下文章

MFI 附件通过 USB 与 App 通信

测试外部附件框架应用程序

外接设备报告无协议

修改 Apple 的 EADemo 项目以显示字节

外部附件框架...EADemo问题

EADemo可以发送http请求吗