iPhone不想越狱但又想跑自动化,怎么做?
说实话,iOS因为沙盒安全机制,第三方能动的地方确实比安卓少。安卓有ADB、无障碍服务、Root权限好几条路可选,iOS看起来就一条窄缝。
但别急着觉得没法干。实际上现在已经有成熟的免越狱方案了——不需要破解系统文件,也不会违反保修条款。
我用的是EasyClick iOS USB版,兼容iOS 12到27+,下面把我用过的方式都捋一遍。
先搞懂:你属于哪类人?
不同的人该走的路不一样,先看自己属于哪种:
| 类型 | 你的情况 | 推荐入口 |
|---|---|---|
| 不想写代码 | 想直接操控手机跑任务,运维/测试都行 | 新中控 → AI智能体 |
| 会写代码 | 要复杂逻辑、自定义业务流 | IDE装插件 → EC脚本开发 |
| 介于两者之间 | 会用Cursor之类的AI辅助编程 | 和AI结合辅助编程 |
AI智能体和AI辅助编程是两码事,别搞混:
- AI智能体:在中控专用窗口里,直接用中文说话让已连的设备执行操作,或者拖拽流程图编排自动化
- AI辅助编程:在IDE里用Cursor帮你写EC脚本(.iec),那是纯软件开发
方式一:AI智能体(新手最快上手)
这是新中控10.1.0+自带的一个模块,点一下按钮就能打开。
它能干嘛
用中文对话告诉它你想让手机做什么,比如「帮我在第一台手机打开Safari」,AI会自动理解并安排执行。也能做可视化工作流编排——把常用操作做成流程图,保存下来以后一键运行。
核心能力包括:
- 模板匹配、偏色找图
- 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直连(最简方案,10.7.0+新增)
这是最新出的路线,也是最省事的——只需要一根USB数据线,不需要买任何外接硬件。
原理
iPhone通过USB线连着电脑,中控启动桥接后,脚本直接调用usbHidEvent系列函数就能模拟点击、滑动、输入等操作。App收到的就是真实的物理按键事件,因为iOS确实检测到了来自USB的HID信号。
跟蓝牙HID的区别在于:蓝牙要通过ESP32C3开发板中转,USB HID是走CoreDevice框架直连,链路更短,延迟更低,而且不用额外花钱买开发板。
怎么用
前提条件:
- 中控版本 EC 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)上可能读不到甚至楔住设备,后续计划改用快捷指令绕过。
USB HID vs 代理模式 vs 蓝牙模式:怎么选?
| 代理模式(USB投屏) | USB HID直连 | 蓝牙HID模式 | |
|---|---|---|---|
| 是否需要代理IPA | 需要签名安装 | 不需要 | 不需要 |
| 是否需要外接硬件 | 不需要 | 不需要 | ESP32C3开发板 |
| 截图方式 | 走屏幕镜像 | captureFullScreenNoAuto不投屏截图 |
captureFullScreenNoAuto不投屏截图 |
| 节点功能 | 可用 | ❌不可用(无界面树) | ❌不可用(无界面树) |
| 风控风险 | 中等 | 低 | 最低 |
| 适合系统 | iOS 12~27+ | iOS 17+(10.7.0+) | iOS 18+(推荐) |
| 配置复杂度 | 较低 | 最低(USB直连就行) | 高(需开一堆手机设置) |
| 输入文字 | inputText直接输 | typeText/inputText直接输 | 靠快捷指令中转 |
| 上传视频图片 | 代理直接插入相册 | ❌不支持 | 快捷指令下载 |
| 核心优势 | 功能最全、节点可用 | 零成本、配置最简单 | 风控安全级别最高 |
简单结论:
- 新手入门、功能全面 → 代理模式
- 想省钱不想买硬件、快速跑通 → USB HID直连
- 风控压力大、长期运营矩阵 → 蓝牙HID
方式三:蓝牙HID硬件方案(防风控专用)
这个方案适合对风控敏感的场景——比如你想长期跑社媒矩阵、电商矩阵,设备多了怕被封号。
原理
买一块ESP32C3开发板刷iOS USB的蓝牙固件(相对坐标或者绝对坐标两种版本,iOS17+用绝对坐标更精准),然后用USB连接到电脑。中控通过串口或WiFi和开发板通信,开发板通过蓝牙向iPhone发HID信号。
iPhone接到的是什么?真实的手指点击事件。App根本检测不出来你在被自动操控。
关键的区别在于:蓝牙模式下截图用image.captureFullScreenNoAuto,这个函数不走屏幕镜像——市面上很多竞品都要依赖屏幕投屏来截图,这就很容易被检测到。我们的方案完全不投屏也能截图,避开了这一步检测。
蓝牙模式下能干啥
- ✅ 鼠标移动、点击、滑动
- ✅ Home键、音量键等快捷键
- ✅ OCR、YOLO、模板匹配、色块查找
- ❌ 节点功能不能用(因为没装代理IPA就没有界面树)
没有代理IPA也能输入文字
这时候要配合快捷指令:手机上新建快捷指令→请求中控提供的接口地址→把返回内容复制到剪贴板→触发粘贴动作。配好键盘快捷键绑定后,脚本里调用bleEvent.keyPressChar就能间接实现输入。
上传视频和图片也行,原理类似,只是快捷指令里多了下载远程资源到相册的步骤。
手机必须开的设置
这部分比较折腾,列出来你心里有数:
- 辅助功能 → 触控 → 辅助触控(打开)→ 跟踪灵敏度拉到最左侧
- 辅助触控 → 执行触控手势、显示屏幕键盘都打开
- 辅助触控 → 鼠标键:初始化延迟和最大速度拉到最左侧
- 通用 → 触控板与鼠标 → 跟踪加速度拉到最左侧
- 辅助功能 → 键盘与键入 → 全键盘控制(打开)
代理模式 vs 蓝牙模式:怎么选?
| 代理模式(USB投屏) | 蓝牙HID模式 | |
|---|---|---|
| 是否需要代理IPA | 需要签名安装 | 不需要 |
| 截图方式 | 走屏幕镜像 | captureFullScreenNoAuto不投屏截图 |
| 节点功能 | 可用 | 不可用 |
| 风控风险 | 中等 | 最低 |
| 适合系统 | iOS 12~27+ | iOS 18+(推荐) |
| 配置复杂度 | 较低(连USB就行) | 较高(需开一堆手机设置) |
| 输入文字 | inputText函数直接输 | 靠快捷指令中转 |
| 上传视频图片 | 代理直接插入相册 | 快捷指令下载 |
简单结论:刚开始玩、追求功能全先用代理模式。风控压力大、设备多的场景再上蓝牙模式。
多机群控怎么玩
一台手动调够了,想同时管几十台iPhone?
架构是这样的:中控控制台 ← 通信 → 每台手机的投屏/HID设备 ← USB → iPhone集群。
核心能力:
- 一键同步操作(主控点一下,几十台手机同时响应)
- 每个设备独立窗口看画面
- 脚本一键分发到所有设备
- 状态实时监控
这种场景覆盖电商矩阵运营、社媒多账号管理、批量App测试都行。带机量方面,有实测94台投屏的配置案例,普通办公电脑跑三十到五十台没问题。
几种常见疑问
Windows能用吗? 新中控有Windows版也有Mac版,windows-x64开头的压缩包解压就能用。IDE开发目前主要是IDEA(JetBrains全家桶都行)。
脱机版本是什么? 从v7.2.0开始,有脱机版本的主程序可以直接作为自动化服务IPA签名安装。好处是签名不限制——测试期间用爱思的免费Apple ID签名就行,巨摩也支持。而且还能获得更多功能比如输入法输入数据。
脚本编译后是啥格式? .iec文件。可以打包分发给客户,他们装上去就能跑,看不到源码。
开源吗? 不开源。商业产品,授权绑设备。免费版功能有限,正式用建议购买授权。
出问题的话怎么办? 论坛bbs.laoleng.vip有不少常见问题帖子,也有QQ技术交流群。
============================
iEasyClick 官网 ieasyclick.net · 专注于安卓/苹果/鸿蒙全平台手机自动化
============================
想要真实跑起来?
本文介绍的方案均可基于 EasyClick 能力在 iEasyClick 落地。官网提供完整文档、开发工具与自动化产品,免费体验。