如何通过命令行向iOS模拟器发送触摸事件?
iOS 模拟器命令行发送触摸事件的实现方案
iOS 平台没有和 Android adb 完全对应的官方通用命令,但针对 Xcode 模拟器,有官方自带工具和第三方工具两种实现路径,操作方式如下:
方法1:使用 Xcode 自带 simctl 工具(推荐,Xcode 11及以上版本原生支持)
这是官方原生提供的工具,无需额外安装第三方依赖,对应点击操作的命令格式为:
xcrun simctl touch <模拟器UDID> tap <x坐标> <y坐标>
补充说明:
- 你可以执行
xcrun simctl list devices命令查看所有已创建模拟器的 UDID - 如果当前仅运行了一个模拟器,可以直接用
booted代替 UDID,命令简化为:xcrun simctl touch booted tap 100 200
以上命令就会给当前运行的模拟器发送 (100, 200) 位置的点击事件 - 除了点击之外,你还可以用相同工具发送滑动手势,命令格式为:
xcrun simctl touch <模拟器UDID> swipe <起始x> <起始y> <结束x> <结束y>
方法2:使用第三方自动化命令行工具
如果你的 Xcode 版本低于11,不支持原生 simctl touch 命令,可以使用 iOS 自动化相关的第三方命令行工具实现,常见工具的对应点击命令格式为:
idb ui tap <x坐标> <y坐标> --udid <模拟器UDID>
注意事项
- 坐标规则和 Android adb tap 完全一致,以屏幕左上角为原点,x 轴向右递增,y 轴向下递增
- 仅运行状态的模拟器可以接收命令,关机、未启动的模拟器执行对应命令会报错
- 以上方案仅适用于 Xcode 模拟器,无法对实体 iOS 设备实现命令行点击操作
内容的提问来源于stack exchange,提问作者Yahoo
相关产品推荐
相关产品推荐

