自动化脚本,指的是把手机上重复的手工操作写成程序、让手机自己执行,和群控的区别在于群控多了一层多设备的集中管理。后面要拆的是怎么写,iPhone 免越狱写 iOS 脚本的完整教程。
免越狱走得通,先看自己属于哪类人
iOS 因为沙盒安全机制,第三方能动的地方确实比安卓少。安卓有 ADB、无障碍服务、Root 权限好几条路可选,iOS 看起来就一条窄缝。路窄就没路吗?不是。现在已有成熟的免越狱方案,不需要破解系统文件,也不违反保修条款。我用的是 EasyClick iOS USB 版,兼容 iOS 12 到 27+。不同的人走的路不一样,先看自己属于哪种:
| 类型 | 你的情况 | 推荐入口 |
|---|---|---|
| 不想写代码 | 想直接操控手机跑任务,运维/测试都行 | 新中控 → AI 智能体 |
| 会写代码 | 要复杂逻辑、自定义业务流 | IDE 装插件 → EC 脚本开发 |
| 介于两者之间 | 会用 Cursor 之类的 AI 辅助编程 | 和 AI 结合辅助编程 |
AI 智能体和 AI 辅助编程是两码事:前者在中控专用窗口里用中文对话让已连设备执行操作,或拖拽流程图编排自动化;后者是在 IDE 里用 Cursor 写 EC 脚本(.iec),属纯软件开发。
AI 智能体和 EC 脚本
先说不用写代码的方式一,AI 智能体,新中控 10.1.0+ 自带,点一下按钮就能打开。用中文告诉它想让手机做什么,比如「帮我在第一台手机打开 Safari」,它会自动理解并执行;也能把常用操作做成流程图,保存后一键运行。核心能力包括模板匹配偏色找图、OCR 与视觉大模型定位元素、工作流定时与批量多台同跑、外部工具集成(命令行、HTTP 接口、MCP 服务)。已保存的工作流运行时不消耗大模型 Token,只有 AI 对话和 AI 写流程两步会计费。准备需要 USB 设备授权(不是投屏授权,别买错),在授权中心点批量授权(左边设备 ID、右边卡号),也可去后台 uc.ieasyclick.com 管理;环境要么签一个代理 IPA 装到手机上,要么用脱机版本的主程序 v7.2.0+(签名限制少,爱思免费签名、巨魔都能用)。开始就几步:启动新中控 → 点 AI 智能体 → 配好大模型 → 选设备 → 打字干活;B 站搜「EasyClick iOS USB」有完整投屏操作视频。
方式二,EC 脚本开发,给要复杂逻辑的程序员。技术栈是 JavaScript,Java 类库可以直接复用,用的是 Rhino 引擎跑的 JS。工具链:主控端在 Windows/Mac 上用新中控(负责投屏、授权管理、设备调度);开发端在 IDEA 装 EasyClick 插件;手机端安装代理 IPA 或脱机主程序。第一个工程:在 IDEA 里建空文件夹作项目根目录,右键新建 Module,选EasyClick IOS USB 版-脚本项目,输入模块名即可;默认调试地址是http://127.0.0.1:8019,手机连好 USB 并完成授权后,连上中控就能开始调试。脚本能调的 API 很丰富:节点函数查找界面元素树进行操作,图色函数做 OpenCV 模板匹配(识别率 95% 以上)、颜色搜索、色块查找,OCR 用免费 PPOCR 引擎截个屏就认字,还有设备函数(获取屏幕尺寸、电量、传感器)、文件存储网络线程、蓝牙 BLE 事件、JDBC MySQL 直连数据库。横竖屏坐标系要注意:IDEA 截图是横的就代表横坐标系,是竖的就代表竖坐标系;横竖屏切换时调用adjustScreenOrientation(2)自动转横坐标,调(1)转竖坐标。图色只支持竖屏,脚本里同时用图色和节点时,最好固定一个方向避免切换问题。
USB HID 和蓝牙 HID
方式四,USB HID 直连,最简方案(10.7.0+ 新增)。iPhone 通过 USB 线连着电脑,中控启动桥接后,脚本直接调用usbHidEvent系列函数就能模拟点击、滑动、输入;走 CoreDevice 框架直连,不经 ESP32C3 开发板中转,通道更短、延迟更低,还不用额外买硬件。前提条件:中控版本 EasyClick iOS USB 10.7.0+,手机系统建议 iOS 17+,USB 已连接、手机点过“信任此电脑”、中控桥接已启动。代码示例:
// 1. 开启会话
let r = usbHidEvent.sessionStart(true);
if (r != null && r !== "") {
logw("开启失败: " + r);
return;
}
// 2. 设置屏幕尺寸(必须!)
usbHidEvent.setScreenSize(1170, 2532);
// 3. 操作手机
usbHidEvent.clickPoint(300, 400); // 点击
usbHidEvent.swipeToPoint(100, 600, 300, 200, 500); // 滑动
usbHidEvent.typeText("hello"); // 英文键盘打字
usbHidEvent.inputText("你好"); // 中文粘贴输入
usbHidEvent.systemKey("home"); // Home 键
usbHidEvent.press(300, 500, 800); // 长按 800ms
// 4. 用完关闭
usbHidEvent.sessionStop();
常用 API 清单:
| 功能 | 函数 |
|---|---|
| 开启/关闭/重置会话 | sessionStart() / sessionStop() / sessionRestart() |
| 设置屏幕尺寸 | setScreenSize(w, h) |
| 点击 | clickPoint(x, y) |
| 长按 | press(x, y, delay_ms) |
| 双击 | doubleClickPoint(x, y) |
| 滑动 | swipeToPoint(x1, y1, x2, y2, duration) |
| 多点触摸 | multiTouch([{action:0,x:100,y:500,delay:20}, ...], timeout) |
| 输入文字 | typeText("hello")(英文打字)/ inputText("你好")(粘贴) |
| 系统按键 | systemKey("home"/"recents"/"lock") |
| 音量键 | volumeUp() / volumeDown() / mute() |
| 组合键 | keyPressChar("gui", "v")(相当于 Cmd+V) |
| 剪贴板 | setClipboard("内容") / getClipboard() |
注意点:必须先调用sessionStart()再setScreenSize(),然后才能做点击输入,顺序不能错;坐标和投屏画面、截图像素是一致的,分辨率变化或横竖屏切换后要重新设置屏幕尺寸;sessionRestart()可以强制重置会话,碰到断流、触摸失效时用这个比单独重启更有效;粘贴英文时如果多空格,在手机「设置 → 通用 → 键盘」关掉「智能标点」;getClipboard()目前不稳定,程序写入后读取没问题,但人手复制的内容在部分 iOS(如 26.x)上可能读不到甚至卡住设备,后续计划改用快捷指令绕过。
方式三,蓝牙 HID 硬件方案,防风控专用,适合长期跑社媒矩阵、电商矩阵、怕封号的场景。买一块 ESP32C3 开发板刷 iOS USB 蓝牙固件(相对坐标或绝对坐标两种版本,iOS 17+ 用绝对坐标更精准),用 USB 连电脑;中控通过串口或 WiFi 和开发板通信,开发板通过蓝牙向 iPhone 发 HID 信号,iPhone 接到的是真实点击,App 检测不出来。关键区别在于:蓝牙模式下截图用image.captureFullScreenNoAuto,不走屏幕镜像,很多竞品依赖屏幕投屏截图、容易被检测到,这个方案不投屏也能截图。能做的事:鼠标移动、点击、滑动,Home 键、音量键等快捷键,OCR、YOLO、模板匹配、色块查找;节点功能不能用(没装代理 IPA 就没有界面树)。没有代理 IPA 也能输入文字,配合快捷指令:新建快捷指令 → 请求中控提供的接口地址 → 把返回内容复制到剪贴板 → 触发粘贴,配好键盘快捷键绑定后,脚本里调用bleEvent.keyPressChar就能间接输入;上传视频和图片同理,只是多了下载远程资源到相册的步骤。手机必须开的设置:辅助功能 → 触控 → 辅助触控(打开)→ 跟踪灵敏度拉到最左侧;辅助触控 → 执行触控手势、显示屏幕键盘都打开;辅助触控 → 鼠标键:初始化延迟和最大速度拉到最左侧;通用 → 触控板与鼠标 → 跟踪加速度拉到最左侧;辅助功能 → 键盘与键入 → 全键盘控制(打开)。
怎么选,以及多机群控
三种模式放一起对比:
| 代理模式(USB 投屏) | USB HID 直连 | 蓝牙 HID 模式 | |
|---|---|---|---|
| 是否需要代理 IPA | 需要签名安装 | 不需要 | 不需要 |
| 是否需要外接硬件 | 不需要 | 不需要 | ESP32C3 开发板 |
| 截图方式 | 走屏幕镜像 | captureFullScreenNoAuto不投屏截图 |
captureFullScreenNoAuto不投屏截图 |
| 节点功能 | 可用 | 不可用(无界面树) | 不可用(无界面树) |
| 风控风险 | 中等 | 低 | 最低 |
| 适合系统 | iOS 12~27+ | iOS 17+(10.7.0+) | iOS 18+(推荐) |
| 配置复杂度 | 较低 | 最低(USB 直连就行) | 高(需开一堆手机设置) |
| 输入文字 | inputText 直接输 | typeText/inputText 直接输 | 靠快捷指令中转 |
| 上传视频图片 | 代理直接插入相册 | 不支持 | 快捷指令下载 |
| 核心优势 | 功能最全、节点可用 | 零成本、配置最简单 | 风控安全级别最高 |
| 代理模式(USB 投屏) | 蓝牙 HID 模式 | |
|---|---|---|
| 是否需要代理 IPA | 需要签名安装 | 不需要 |
| 截图方式 | 走屏幕镜像 | captureFullScreenNoAuto不投屏截图 |
| 节点功能 | 可用 | 不可用 |
| 风控风险 | 中等 | 最低 |
| 适合系统 | iOS 12~27+ | iOS 18+(推荐) |
| 配置复杂度 | 较低(连 USB 就行) | 较高(需开一堆手机设置) |
| 输入文字 | inputText 函数直接输 | 靠快捷指令中转 |
| 上传视频图片 | 代理直接插入相册 | 快捷指令下载 |
简单结论:刚入门、追求功能全面先用代理模式;想省钱不想买硬件、快速跑通用 USB HID 直连;风控压力大、设备多的长期矩阵再上蓝牙 HID。
多机群控:一台手动调够了,想同时管几十台 iPhone,架构是中控控制台 ← 通信 → 每台手机的投屏/HID 设备 ← USB → iPhone 集群。核心能力有一键同步操作(主控点一下,几十台手机同时响应)、每个设备独立窗口看画面、脚本一键分发到所有设备、状态实时监控。带机量方面,有实测 94 台投屏的配置案例,普通办公电脑跑三十到五十台没问题。
几种常见疑问一次性说清。Windows 能用吗?新中控 Windows 版、Mac 版都有,windows-x64 开头的压缩包解压就能用,IDE 开发目前主要是 IDEA(JetBrains 全家桶都行)。脱机版本是什么?从 v7.2.0 开始,脱机版主程序可以直接作为自动化服务 IPA 签名安装,好处是签名不限制,测试期间用爱思的免费 Apple ID 签名就行,巨魔也支持,还能获得输入法输入数据等更多功能。脚本编译后是啥格式?.iec 文件,可以打包分发给客户,装上去就能跑,看不到源码。开源吗?不开源,商业产品,授权绑设备,免费版功能有限,正式用建议购买授权。出问题怎么办?论坛 bbs.laoleng.vip 有不少常见问题帖子,也有 QQ 技术交流群。
几种方式选好后,下一步就是动手写,可以读iOS 免越狱脚本怎么写,这篇选路线、那篇写脚本,正好接得上。
============================
iEasyClick 官网 ieasyclick.net · 专注于安卓/苹果/鸿蒙全平台手机自动化
============================
想要真实跑起来?
本文介绍的方案均可基于 EasyClick 能力在 iEasyClick 落地。官网提供完整文档、开发工具与自动化产品,免费体验。