iPad与Mac或PC之间的USB通信

时间:2011-09-02 00:40:44

标签: iphone ios usb jailbreak macos

我想写一个可以通过USB连接与Mac或PC程序进行通信的iPhone / iPad应用程序(我也会写)。有谁知道我怎么能这样做? (我意识到我可能要越狱我的iPad)

2 个答案:

答案 0 :(得分:6)

通过USB(USBMux)进行套接字通信可能会满足您的需求。当iPad或iPhone插入Mac时,会有设备描述/ var / run / usbmuxd。您可以创建套接字并将其连接到/ var / run / usbmuxd,并将打包/接收打包数据发送到iOS设备。数据应该包装好。

以下是来自theiphonewiki http://theiphonewiki.com/wiki/index.php?title=Usbmux的简要参考资料。我能提供的是连接到usbmuxd的示例代码。

struct sockaddr_un endpoint;
size_t size;

_usbMuxSocket = socket(PF_LOCAL, SOCK_STREAM, 0);

endpoint.sun_family = AF_LOCAL;
strncpy(endpoint.sun_path, "/var/run/usbmuxd", 17);
size = (offsetof (struct sockaddr_un, sun_path)
        + strlen (endpoint.sun_path) + 1);

connect(_usbMuxSocket, (struct sockaddr *) &endpoint, size);

之后你必须“连接”你的应用程序在iPad上收听的端口。上面的维基页面列表中的事件序列部分讨论了“连接”过程。完成准备工作后,您可以使用套接字发送和读取数据。

答案 1 :(得分:-1)

是否必须是USB连接?

如果没有,那么Robbie Hanson的GCDAsyncSocket非常适合连接各种Apple设备。我去年用它将一堆iPad连接到Mac mini上运行的单个应用程序。