2

我有一个我一直在开发的应用程序,现在我想通过扩展坞连接器集成一些与外部设备的交互。我使用的设备(iDive 300)符合 Made For iPod 程序。我已经基于 EADemo 代码编写了一个单独的简单应用程序来收集有关设备的信息。然而,当我运行这个应用程序时,iDive 没有报告名称、序列号、固件等,并且还说没有找到任何协议。我知道这个简单的应用程序工作正常,因为我已连接到其他几个外部设备,并且为每个设备填充了名称、序列号等。

另一件奇怪的事情是,当 iDive 插入我的 iPhone 4 时,它似乎可以正常工作(即,它会增加音量并通过设备上的按钮播放在我的 iPhone 上找到的歌曲和视频)。这不应该意味着这个设备与 iPhone 通信有一些协议吗?如果我不知道协议,我是否可以从此设备读取数据(例如,在按下“播放”、“菜单”或其他按钮时捕获)?

我对外部附件框架完全陌生,感谢您提供任何帮助!

4

2 回答 2

0

无法保证配件实际使用 EA。它可以使用 Apple 定义的协议进行通信。

仅当您想使用自己的专有协议进行通信时才需要 EA。

检查来自 Apple 的 EADemo 示例...如果它没有出现在演示应用程序中,则它不是 EA。

于 2013-12-04T18:22:12.610 回答
0

您应该对与 iDive 关联的应用程序进行尸检。在其 info.plist 中,应该有一个键:

UISupportedExternalAccessoryProtocols

它的值是一个数组(见这里的正式定义),其中包含一个字符串,其值看起来像一个反转的域名,作为设备协议。

你应该编辑你的 Info.plist,'Supported external accessory protocols'为一个数组添加键(用简单的英语),把协议作为它的项目。

于 2012-12-27T13:02:57.950 回答