自动化脚本是把手机上重复的手工操作写成程序。群控是在这之上再加多设备的集中管理。后面讲 USB HID 这条通道怎么写脚本。
USB HID 和别的 iOS 自动化差在哪
USB HID 从 EC iOS USB 10.7.0(2026-09-08)起提供。电脑通过数据线模拟 USB 键盘和鼠标,把点击、滑动、打字送给 iPhone。HID 是 USB 规范里的设备类别,键盘和鼠标都属于它。手机把它当成外接设备。不改系统,所以不用越狱。在「无自动化截图 + USB_HID」模式下不用装 App,也就不用给 IPA 签名,也不用蓝牙板或 OTG 板。
它和代理自动化服务互斥。中控里的「启动自动化」、脚本里的 startEnv,和 usbHidEvent 只能二选一,不要在同一台设备、同一套脚本里混用。要截图时用 image.captureFullScreenNoAuto。手机系统是 iOS 17 及以上。iOS 15 及以上如果要装程序跑自动化,用脱机版主程序 v7.2.0 及以上当作 USB 自动化程序,官方下载页有预签名 IPA 供测试。脱机主程序走的是自动化服务,和 usbHidEvent 互斥。脱机版只支持 iOS 15 及以上。

动手前先装中控、连上手机、选对模式,并记住返回约定。电脑跑中控,Windows 安装路径用纯英文。iPhone 用数据线连电脑,确认已信任本机,中控桥接已启动。在投屏客户端的系统设置、场景模式里选「无自动化截图 + USB_HID」(手机端不装 App),或「主程序录屏 + USB_HID」(要装脱机主程序 IPA,画面更流畅)。两种都要求 iOS 17 及以上。低于这个版本改用代理模式。代理模式要签名:个人开发者 688 元一年,最多 100 台,支持 iOS 12 及以上。巨魔支持 iOS 15 到 16.6.1,重启会掉签。7.0.0 起,单应用只装主程序,双应用还要再装代理 IPA。

返回约定只有一条:所有 usbHidEvent 函数返回 null 或空字符串是成功,返回其它字符串是错误信息。写脚本前先放一个判断函数,后面一直用。
function _usbOk(r) {
return r == null || r === "";
}
从开会话到常用函数
USB HID 的操作在会话里进行。顺序固定:先开会话,再设屏幕尺寸,然后才是点击和输入。顺序反了,后面的坐标和点击对不上。
function main() {
// 1. 开启会话(true 表示启用增强兼容模式)
let r = usbHidEvent.sessionStart(true);
if (!_usbOk(r)) {
logw("开启 USB HID 失败: " + r);
return;
}
// 2. 设置屏幕尺寸,按截图/投屏的实际分辨率填
r = usbHidEvent.setScreenSize(1170, 2532);
if (!_usbOk(r)) {
logw("设置屏幕尺寸失败: " + r);
return;
}
// 3. 点击
r = usbHidEvent.clickPoint(200, 400);
logd("点击: " + (_usbOk(r) ? "成功" : r));
// 4. 收尾,释放资源
usbHidEvent.sessionStop();
}
main();
跑通这三步之后,再往上面加动作。会话有三个操作:
| 函数 | 用途 | 什么时候用 |
|---|---|---|
sessionStart(gate) |
开启会话 | 脚本开头;会话已存在时会复用 |
sessionRestart(gate) |
重建会话 | 触摸失效、断流、点击没反应时 |
sessionStop() |
关闭会话 | 脚本结束时释放资源 |
sessionRestart 相当于先 stop 再 start。sessionStart 可能复用旧连接,sessionRestart 会断开再重建。
常用函数分触控、输入、系统三类。触控:
| 函数 | 说明 |
|---|---|
clickPoint(x, y) |
单击 |
doubleClickPoint(x, y) |
双击 |
press(x, y, delay) |
长按,delay 是按住毫秒数 |
swipeToPoint(sx, sy, ex, ey, duration) |
从起点滑到终点,duration 是时长毫秒 |
touchDown(x, y) / touchMove(x, y) / touchUp(x, y) |
按下 / 移动 / 抬起,用于需要精细控制的三段式操作 |
multiTouch(touch1, timeout) |
多点轨迹回放,适合复杂手势 |
multiTouch 的轨迹点格式:action 为 0 表示按下、2 表示移动、1 表示抬起,delay 是该点的延迟毫秒。
let touch1 = [
{"action": 0, "x": 100, "y": 500, "delay": 20},
{"action": 2, "x": 100, "y": 300, "delay": 30},
{"action": 1, "x": 100, "y": 300, "delay": 20}
];
usbHidEvent.multiTouch(touch1, 10000);
输入类:
| 函数 | 说明 |
|---|---|
typeText(text) |
键盘逐键输入;遇到中文、emoji 自动改粘贴 |
inputText(text) |
统一走剪贴板粘贴,中英文都适用 |
setClipboard(text) |
只写入剪贴板,不粘贴 |
keyPressChar(prefix, code) |
字符键或组合键,如 ("gui", "v") 表示粘贴 |
keyPress(key) / keyUp() |
按下单个键 / 抬起全部按键 |
系统与其他:
| 函数 | 说明 |
|---|---|
systemKey(key) |
home 主屏 / recents 多任务 / lock 锁屏 |
volumeUp() / volumeDown() / mute() |
音量与静音 |
setScreenSize(w, h) |
设置屏幕像素宽高,决定后面所有坐标的换算 |
坐标先调用 setScreenSize,按设备的像素宽高设置,之后所有坐标按截图里的像素写。截图里按钮在 (200, 400),脚本里就写 clickPoint(200, 400)。横竖屏切换或分辨率变化后要重新设置,否则坐标整体偏移。竖屏 setScreenSize(1170, 2532),横屏写成 setScreenSize(2532, 1170)。
Python 调用、常见坑和答疑
主程序如果是 Python、C# 或易语言,可以走中控的 HTTP 接口。路径和脚本函数对应。前缀是中控地址,例如 http://127.0.0.1:8019。全部是 POST,Content-Type: application/json。成功时 code 为 0,失败时 code 非 0,msg 是错误信息。用 Python 点一下屏幕:
import requests
body = {
"deviceId": "你的设备 ID",
"x": 200,
"y": 400
}
r = requests.post("http://127.0.0.1:8019/openapi/usbhidClickPoint", json=body, timeout=30)
print(r.json())
对应关系很直观:
| 脚本函数 | HTTP 接口 |
|---|---|
sessionStart |
/openapi/usbhidSessionStart |
setScreenSize |
/openapi/usbhidSetScreenSize |
clickPoint |
/openapi/usbhidClickPoint |
press |
/openapi/usbhidPress |
swipeToPoint |
/openapi/usbhidSwipeToPoint |
typeText / inputText |
/openapi/usbhidTypeText / /openapi/usbhidInputText |
systemKey |
/openapi/usbhidSystemKey |
建议顺序是先调 usbhidSessionStart,再 usbhidSetScreenSize,然后才做点击与输入,和脚本里的顺序保持一致。

常见问题按这个查。忘了先设屏幕尺寸,点击位置会偏,会话开完立刻 setScreenSize。点击没反应,右键设备选「USB HID → 重建 USBHID 会话」。中文直接用 inputText。英文粘贴多出空格,到手机「设置 → 通用 → 键盘」关掉「智能标点」。getClipboard 在部分 iOS 版本上不稳定,需要写入时用 setClipboard。插上线之后还要确认手机已信任本机、中控桥接已启动,否则会话开不起来。
从 10.6.0(2026-09-02)起,AI 智能体改成 iEasyRun,地址是 https://ieasyrun.com 。不会写 EC 脚本时,可以在工作站里用对话或工作流编排。usbHidEvent 按同步调用写,返回 null 或空字符串为成功。读屏幕内容走截图接口,不走屏幕镜像。
相关阅读:想系统了解 iPhone 免越狱自动化的整体方案,可参考 iPhone 免越狱自动化脚本完整教程。
关于 iEasyClick:手机自动化脚本平台,覆盖安卓、iOS、鸿蒙三大生态,支持 EC 脚本开发、AI 智能体对话操控与 USB HID / 蓝牙 HID / OTG HID 多种控制方式。→ 了解全部产品
想要真实跑起来?
本文介绍的方案均可基于 EasyClick 能力在 iEasyClick 落地。官网提供完整文档、开发工具与自动化产品,免费体验。