转:http://bbs.iosre.com/t/usbmuxd-idevice-usb/1482
os x上,苹果有一个服务,叫usbmuxd,这个服务主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes, XCode,都直接或者间接地用到了这个服务。
那么问题来了,如何让iDevice通过苹果的数据线和mac通信?其实不止是mac,只要pc上提供usbmuxd服务,就可以和iDevice通信,通过TCP.
libimobiledevice,可以在github上找到它。已经将苹果的usbmuxd服务和其他iTunes相关的服务实现跨平台并且开源了。
另外,peerTalk,一个基于usbmuxd服务的开源代码,作为iDevice和OS X通信的一个很好的例子,可以迅速拿来参考,用到自己的app里。既然用到苹果私有(没公开)的协议,那么app能否上架呢?答案是肯定的。并没有用到私有API。某些知名软件比如duet,利用这个usbmuxd上的peerTalk和VNC技术,实现了将iPad作为Mac的显示器的功能,并且在AppStore上架。
另外,树莓派也已经实现了peerTalk。
文章介绍了苹果usbmuxd服务,该服务使USB通信能够抽象为TCP通信,允许iDevice通过数据线与mac或其他提供该服务的PC通信。通过使用libimobiledevice和peerTalk等开源项目,开发者可以轻松地实现跨平台的iDevice通信应用。
2万+

被折叠的 条评论
为什么被折叠?



