iOS设备通讯协议

先介绍以下iOS设备与Mac之间的通讯协议,虽然iOS设备是通过USB线连接到Mac机器上,但实际上Mac与iOS设备并不是直接通过usb协议进行通信的。

具体协议如下:

macOS上有一个名为usbmuxd的服务,即USB multiplexing daemon的英文缩写,作用是在USB协议上实现多路TCP连接。

iTunes和XCode这些工具本身并不直接与设备通信,而是连接到本地的socket文件/var/run/usbmuxd上,然后通过usbmuxd服务把请求翻译成usb协议发送给设备,设备端也有usbmuxd服务,会把usb协议翻译回TCP协议,然后转给iOS设备端的具体服务。

以上我们得到两点信息:

1.只要实现usbmuxd,无需macOS系统也能实现与设备的通信。

2.转发usbmuxd的TCP协议,可以实现不同机器之间的设备连接。

socat是一个Linux下的一个工具,其功能类似于加强版的netcat,能实现端口、socket、文件等之间的转发操作。在这里我们用这个工具实现本地socket与端口之间的转发。

macOS下使用brew install socat即可安装。

linux环境下各大主流系统的软件包管理也均可直接安装。

测试开发—Xcode使用远程手机调试相关推荐

  1. Appium_调试腾讯订制开发的X5版本webview_调试微信_调试手机QQ空间等

    = 调试才是开发效率的核心. 感觉现在的工具真心还是难用,虽然是可以用了,也只是"可以用"而以. 腾讯这一版本感觉还是进步了很多,虽然还是不够好啊. = 一.过时的文档,大家别走弯 ...

  2. Android Studio :1、连接手机调试(超级详细;附带连接测试录像);2、点击Button按钮,显示Toast中的内容

    手机端 视频 演示:[视频地址:https://live.csdn.net/v/18079] SVID_20200218_211351_1.mp4 操作环境: 电脑(Windows 10 教育版): ...

  3. python调试和测试有什么区别和联系_软件测试和测试开发到底有什么区别跟联系?...

    对于没有进入IT领域的同学而言,软件测试并不陌生,但如果听到测试开发,他们一定会感到十分困惑,这究竟是测试还是开发呢? 按照字面意思理解,大家或许会觉得测试开发是指既能开发产品又能测试产品的" ...

  4. Spring Boot 实用开发技巧————Eclipse 远程调试

    引言 在之前的开发当中,都会进行本地项目启动,然后向本地服务发起请求来进行 Debug 调试代码,这也是开发人员最常见的调试操作.但是当项目逐渐成型,慢慢的将各个模块部署到服务器后,调试的手段可能就仅 ...

  5. 微信公众号开发系列教程一(调试环境部署续:vs远程调试)

    微信公众号开发系列教程一(调试环境部署) 微信公众号开发系列教程一(调试环境部署续:vs远程调试) C#微信公众号开发系列教程二(新手接入指南) C#微信公众号开发系列教程三(消息体签名及加解密) C ...

  6. 5 分钟,使用内网穿透快速实现远程手机桌面!

    点击上方 "AirPython",选择 "加为星标" 第一时间关注 Python 原创干货! 1. 前言 大家好,我是安果! 不知道大家有没有下面这些经历,比如 ...

  7. 熬夜肝出 3w 字测试开发学习路线

    本文将从薪水,职业规划,测试理论基础,自动化测试基础,常用自动化框架,计算机基础及 Python 高频面试题,测试相关高频面试题出发,详细内容如下,希望能对大家有所帮助. 薪水 我把它放在最前面,让大 ...

  8. android 真机dev tools,移动端手机调试的几种方法

    很多时候,我们在进行移动端开发时,都是先在PC端使用手机模拟器进行调试,没有问题后,我们才会在手机端的浏览器进行测试,这个时候,如果没有出现问题,皆大欢喜.但是一旦出现问题,我们就很难解决,因为缺乏可 ...

  9. 字节上岸成功,整理一波测试开发岗的基础知识,含答案

    本科非科班,春招找非技术岗工作失败(无法通过群面)于是秋招转码了.谁又能想到秋招形势严峻比春招还严峻-. 太难了!!!! 8月末开始投简历,9月份开始面了tplink.字节.美团.广立微电子这四家公司 ...

最新文章

  1. ListView style
  2. 四面体的表面积_JACS:武汉大学汪成课题组利用从平面至四面体的扭曲单体来合成COFs材料...
  3. 【Oracle】多表连接查询详解
  4. LeetCode 17 电话号码的字母组合
  5. informix clob转oracle 乱码_Oracle 视图-序列-权限-表-事务
  6. 判断一个字符串在另一个字符串中出现的次数
  7. tl r402路由器设置_记一次TP-LINK路由器问题排查
  8. DataStorage分析
  9. 战神引擎清理数据教程[保留跟不保留账号
  10. BCNF范式(修正的第三范式)、第四范式和第五范式
  11. 角度传感器测量实验 GY-25
  12. 中学生物教学杂志中学生物教学杂志社中学生物教学编辑部2022年第15期目录
  13. Jquery通过append新元素之后事件绑定问题的解决方案
  14. Spring启动的bean回调函数
  15. 技术开放、平等普惠,蚂蚁金服ATEC科技大会闪耀狮城新加坡
  16. linux防火墙富规则,[Linux]Redhat7防火墙配置汇总
  17. 前端上班第一天-开发环境配置
  18. 怎样娶到比尔盖茨的女儿?
  19. 回归本心QwQ背包问题luogu1776
  20. 数据库For Web

热门文章

  1. 灰色-马尔可夫预测模型
  2. 注册微信公总号的方法与种类
  3. 马云谈年轻人压力大:年轻人怕压力就白活了
  4. 数据透视表(合并同类型数据求和)
  5. 你既言而无信,我即出尔反尔
  6. 中秋节,送礼当如唐骏--管理=感动+被感动
  7. NamingContainer取得 GridView的列数(RowIndex)、对应的资料表 这一列的主索引键
  8. Unity--游戏字幕
  9. qrcode二维码生成工具
  10. 俄罗斯方块、贪吃蛇、心形表白 | 好玩的C语言源码