iPad与Mac或PC之间的USB通信

cdu*_*uck 12 iphone macos usb jailbreak ios

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

Lin*_*Liu 7

通过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);
Run Code Online (Sandbox Code Playgroud)

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


C4 *_*vis -1

必须是 USB 连接吗?

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