这个 iOS 应用程序如何通过 USB 端口进行通信?

How does this iOS app communicate over the USB port?

This app promises to turn your iOS device into a second monitor and uses the standard USB cable 连接到计算机,而不是所有其他类似应用程序使用的网络。

当我听说它时,它还不可用,所以我认为这是一个骗局。令我惊讶的是,他们发布了该应用程序,并且它确实按照描述运行。

它是如何工作的?据我所知,在 iOS 中没有驱动 USB 端口的 API,并且通过标准 charging/syncing 电缆通过 USB 连接的计算机不算作 MFI 配件。

请注意,他们在下载页面上免费提供服务器软件(安装在 Mac 上并将桌面流式传输到设备的软件),逆向工程可以对此有所启发,但是很遗憾,我没有这方面的技能。

完成通用 USB 端口通信的信息、代码和工具可供加入 Apple MFi 计划的人员使用。您必须完成文书工作并获得 Apple 许可。

http://developer.apple.com/programs/mfi/

必要的库包含在应用程序中,然后通常的流媒体库和代码完成其余的工作。

Dean 在 his blog 上讲述了这件事。

Duet 使用 Peertalk,一个开源库,允许通过 USB 连接传递 TCP 连接,而不是 MFI 程序的一部分。