什么是usbmuxd?

1.os x上,苹果有一个服务,叫usbmuxd,这个服务主要用于在USB协议上实现多路TCP连接,将USB通信抽象为TCP通信。苹果的iTunes, XCode,都直接或者间接地用到了这个服务。

2.那么问题来了,如何让iDevice通过苹果的数据线和mac通信?其实不止是mac,只要pc上提供usbmuxd服务,就可以和iDevice通信,通过TCP.

3.libimobiledevice,可以在github上找到它。已经将苹果的usbmuxd服务和其他iTunes相关的服务实现跨平台并且开源了。

4.另外,peerTalk,一个基于usbmuxd服务的开源代码,作为iDevice和OS X通信的一个很好的例子,可以迅速拿来参考,用到自己的app里。既然用到苹果私有(没公开)的协议,那么app能否上架呢?答案是肯定的。并没有用到私有API。某些知名软件比如duet,利用这个usbmuxd上的peerTalk和VNC技术,实现了将iPad作为Mac的显示器的功能,并且在AppStore上架。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
五一放假,出门在外,有时候没有WiFi,没法通过无线ssh到iOS中调程序,怎么办呢?好在大神Nikias Bassen(即@pimskeks5)写了一个可以把本地OSX/Windows端口转发到远程iOS端口的工具usbmuxd16,使我们能够通过USB连接线ssh到iOS中,大大增加了ssh连接的速度,也方便了那些没有WiFi的朋友。下面我们就简单介绍一下怎么使用神器usbmuxd。(注:以下操作在OSX中进行,Windows用户请自行安装python环境) 下载usbmuxd 从这里下载usbmuxd(http://cgit.sukimashita.com/usbmuxd.git/snapshot/usbmuxd-1.0.8.tar.gz),解压到本地。我们要用到的只有python-client目录下的tcprelay.py和usbmux.py两个文件,把它们放到同一个目录下,如笔者的 /Users/snakeninny/Code/USBSSH/ 使用usbmuxd usbmuxd的用法比较简单,在Terminal中输入 /Users/snakeninny/Code/USBSSH/tcprelay.py -t 远程iOS上的端口:本地OSX/Windows上的端口 即可把本地OSX/Windows上的端口转发到远程iOS上的端口,如 /Users/snakeninny/Code/USBSSH/tcprelay.py -t 22:2222 可把本地的2222端口转发到iOS上的22端口,那么直接 ssh root@localhost -p 2222 即可ssh到iOS中。 使用场景举例 完全脱离WiFi,使用USB连接到iOS,用lldb调试SpringBoard。 i) 把本地2222端口转发到iOS的22端口 /Users/snakeninny/Code/USBSSH/tcprelay.py -t 22:2222 ii) ssh过去并用debugserver attach到SpringBoard ssh root@localhost -p 2222 debugserver *:1234 -a "SpringBoard" iii) 把本地1234端口转发到iOS的1234端口 /Users/snakeninny/Code/USBSSH/tcprelay.py -t 1234:1234 iv) 用lldb开始调试 lldb process connect connect://localhost:1234

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值