Skip to main content

AScript iOS — 免越狱的 Python 自动化引擎

AScript iOS 是运行在 iPhone / iPad 上的 Python 自动化引擎。一套 API、两种引擎、全版本兼容:既可用 WDA(WebDriverAgent) 走 Apple 原生通道,也可挂一颗 ESP32 蓝牙 HID 芯片 从物理层模拟点击。支持 iOS 15 ~ iOS 18 全版本免越狱、免签名、免 Mac、免开发者账号

from ascript.ios.node import Selector
from ascript.ios.screen import Ocr
from ascript.ios import system

Selector().text("确认").click() # 控件点击
Ocr().find("优惠券") # OCR 找文字
system.app_start("微信") # 465+ App 一行启动

我们的与众不同

iOS 沙盒禁止任意 App 模拟点击其他 App,这是 iOS 自动化的核心门槛。AScript 提供两条成熟的技术路径,并把 AI 视觉、系统集成、云端能力都做到"开箱即用":

⚙️
双引擎架构
WDA(XCUITest 原生通道)+ ESP32 蓝牙 HID 外设,按需切换,Python API 通用
🛡️
HID 硬件级输入
蓝牙外设从物理层输入触摸信号,通道独立于系统 API,输入稳定、兼容性好
👁️
三套离线 OCR
PaddleOCR V5 / Apple Vision / Google MLKit 全内置,免网络、免 API Key
🧠
YOLO v11 自训模型
NCNN 端侧推理,支持自训目标检测模型,~300ms 全屏检测
🚀
465+ App 启动库
内置 Bundle ID + URL Scheme 映射,一行 system.app_start("微信") 就打开
🌐
WebWindow + 云端 MySQL
HTML/JS 与 Python 双向通信;后台一键开通专属 MySQL,免部署服务器
📱
全 iOS 版本兼容
iOS 15 ~ iOS 18 一份脚本通用,免越狱、免签名,脱机独立运行
💻
免 Mac 开发
Windows / 浏览器写脚本,跳过 Xcode + 开发者账号传统 iOS 门槛

双引擎对比:WDA vs ESP32 HID

两套方案使用同一套 Python API,切换时业务代码几乎不用动。

🧩
WDA 模式经典
WebDriverAgent · XCUITest 原生通道
触控原理
WDA 注入
截图原理
WDA 截图
硬件成本
0 元
开发者模式
需开启
最低系统
iOS 15
控件能力
文本 / ID / XPath
零硬件上手控件树检索XCUITest 公开协议
🛡️
HID 模式硬件
ESP32 蓝牙 HID · 物理层注入
触控原理
ESP32 HID 物理信号
截图原理
系统录屏扩展
硬件成本
9 ~ 20 元
开发者模式
不需要
最低系统
iOS 13
控件能力
仅触摸 + 键盘
通道独立输入稳定需 ESP32 芯片
选型建议

多数场景先用 WDA(零硬件成本)。当 WDA 方案无法满足、或需要更稳定可靠的输入通道时,切换到 HID 模式。两种模式随时切换,脚本基本不用改。

→ WDA 模式上手 · → ESP32 HID 模式上手 · → 模式详细对比


极简 Python API

from ascript.ios.node import Selector
from ascript.ios.screen import Ocr, FindImages, FindColors, yolov11
from ascript.ios import system
from ascript.ios.system import device

# —— 控件(WDA 模式)——
Selector().text("登录").click()
Selector().id("username").input("my_account")
Selector().xpath('//XCUIElementTypeButton[@name="OK"]').click()

# —— AI 视觉 ——
Ocr().find("优惠券") # OCR 找文字(默认 PaddleOCR V5)
Ocr.vision(pattern="订单") # Apple Vision 引擎(iOS 16+)
FindImages("target.png").find_one() # 模板 + SIFT 混合找图
FindColors().find([0xFF0000, 0x00FF00]) # 多点找色

# —— 系统 ——
system.app_start("微信") # 465+ App 库
system.set_clipboard("Hello"); system.get_clipboard()
device.get_screen_size(); device.get_orientation()
system.notify("任务完成", "耗时 12.3s")

把上面任意一段丢给 Cursor / Trae / DeepSeek,用中文描述业务逻辑,脚本直接生成。


AI 视觉引擎 — 全离线、免 API Key

主流视觉能力打包在 ascript.ios.screen 模块下,全部端侧运行,不联网、不要 Key、不收钱。

🔤
PaddleOCR V5
百度开源 OCR,默认引擎,全屏 ~400ms / 半屏 ~200ms,全离线
from ascript.ios.screen import Ocr
🍎
Apple Vision OCR
iOS 16+ 系统原生引擎,中文支持,零延迟调用
Ocr.vision(pattern="...")
🔍
Google MLKit OCR
Google ML Kit 文字识别,离线可用
Ocr.mlkit(...)
🎯
YOLO v11 目标检测
NCNN 端侧推理,~300ms,支持自训模型(param/bin/yaml)
from ascript.ios.screen import yolov11
🧩
模板+SIFT 混合找图
~120ms 全屏,模板匹配失败自动降级 SIFT,多分辨率自适应
FindImages("t.png").find_one()
🎨
多点找色 / 比色
~20ms,空间 / 方向 / 相似度三维约束,签名式 UI 定位
FindColors().find([...])
📷
二维码 / 条形码
自动识别格式,返回坐标 + 解码内容
from ascript.ios.screen import CodeScanner
🛠️
OpenCV 预处理管线
11 种算子:Gray / Threshold / Erode / Dilate / Morph / Blur / Resize / Rotate / Canny,可链式调用提升识别率
ascript.ios.screen.opencv

系统集成 — 开箱即用

只有 iOS 自动化才需要的那些东西,我们都内置了,省下你自己造轮子。

🚀
465+ App 启动库
内置主流 App 的 Bundle ID + URL Scheme 映射,按名字直接打开
system.app_start("微信")
📋
剪贴板读写
跨 App 剪贴板同步
system.set_clipboard / get_clipboard
🔔
系统通知推送
脚本运行状态直接推送到 iOS 通知中心
system.notify(title, body)
📱
设备信息
UUID · iOS 版本 · 屏幕尺寸 · 方向 · IP
ascript.ios.system.device
💾
KV 持久化存储
免数据库的 key-value 存储,App 重启不丢失
ascript.ios.system.KeyValue
☁️
云端 MySQL
开发者后台一键开通专属数据库,内置 pymysql 直连,免部署服务器
import pymysql
🌐
HTTP 客户端
内置 requests,支持 GET / POST / JSON / multipart 上传
import requests
📡
WebSocket 云控
设备连官方或自建云端,远程推任务 / 回传数据
from ascript.ios.system import Control
🖼️
WebWindow 网页 UI
用 HTML/CSS/JS 写脚本交互界面,Python ↔ JS 双向通信
from ascript.ios.ui import WebWindow
⌨️
自定义 IME 输入法
AScript 提供输入法,程序化输入不依赖系统键盘
from ascript.ios import ime
🎬
媒体能力
音频播放(带完成回调 + 音量控制)、图片 / 视频保存到相册
from ascript.ios import media
🔐
卡密授权 / 脚本加密
内置商业分发所需的授权激活管理与 Python 脚本加密保护
企业服务

环境与兼容

项目内容
目标设备iPhone / iPad,iOS 15 ~ iOS 18(HID 模式最低 iOS 13)
脚本语言Python 3,完整 Pip 生态
IDEWeb-IDE(浏览器打开即用)· PyCharm · VS Code
ESP32 芯片ESP32-C3 · ESP32-S3 · ESP32 Pico(约 9 ~ 20 元)
AI 编程Cursor · Trae · DeepSeek · ChatGPT 直接生成脚本

性能与稳定性

测试环境:iPhone 15 · iOS 17 · AS v3243 · 某 App 视频页面打开状态
50ms
最快截图速度
PIL Image 截图
⏱️
50ms
控件检索速度
单次检索耗时
🛡️
24h+
连续稳定运行
长时测试全部通过
类别
测试项
单次耗时
长时稳定
兼容性
动作
点击 / 滑动 / 输入 / 手势
全兼容
控件
检索一个控件(简单页面)
50ms
全兼容
XPath 控件检索
50ms
全兼容
控件动作透传(点击/输入)
全兼容
图色
截图 PIL Image
50ms
全兼容
全屏找色(单个)
20ms
全兼容
全屏找图
120ms
全兼容
PaddleOCR V5 全屏识别
400ms
全兼容
PaddleOCR V5 半屏识别
200ms
全兼容
YOLO v11 目标检测
300ms
全兼容
多点比色
20ms
全兼容
二维码 / 条形码识别
全兼容
云控
保持连接
全兼容

常见问题 (FAQ)

AScript iOS 需要越狱或签名吗?

不需要。 AScript 运行在非越狱设备上,不需要重签名、不需要加入开发者账号、不需要信任描述文件,支持 iOS 15 ~ iOS 18 全版本。

开发脚本需要 Mac 吗?

不需要。 用 Windows + 浏览器(内置 Web-IDE)或 PyCharm / VS Code 就能写。WDA 方案首次部署可由我们协助,部署完成后设备脱机独立运行。

WDA 和 ESP32 HID 两种模式怎么选?

优先用 WDA(无需硬件、上手最快)。当 WDA 方案无法满足、对输入稳定性要求更高、或不想开启开发者模式时,切到 HID 模式

两种模式的输入通道有什么区别?

  • WDA 模式:走 Apple XCUITest 公开协议,适合控件树结构清晰的通用场景
  • HID 模式:ESP32 外设在系统层是标准蓝牙鼠标 / 键盘,输入通道与系统 API 相互独立,稳定性更佳

OCR 要联网吗?要 API Key 吗?

都不要。 PaddleOCR V5(默认)/ Apple Vision(iOS 16+)/ Google MLKit 三套全部端侧运行,免网络、免 Key、免费。如需更高精度可选装付费 TomatoOCR 插件。

YOLO 支持自训模型吗?

支持。 yolov11.load(param_path, bin_path, yaml_path, nc, use_gpu) 直接加载 NCNN 格式的自训模型,支持自定义标签数量与 GPU 加速。

云端数据库要自己部署服务器吗?

不需要。 登录开发者后台一键开通专属云端 MySQL,内置 pymysql 客户端直连。

465+ App 启动库怎么用?

system.app_start("微信")                        # 按中文名
system.app_start(bundle_id="com.tencent.xin") # 按 Bundle ID
system.app_start(scheme="weixin://") # 按 URL Scheme

微信 / QQ / 微博 / 钉钉 / 企业微信 / 飞书 / 支付宝 / 淘宝 / 京东 等主流 App 全覆盖。

ESP32 外设怎么获取?贵吗?

单片 ESP32-C3 / S3 / Pico 约 9 ~ 20 元,我们提供现成硬件和一键烧录工具。详见 HID 外设选购与烧录

支持 iPad 吗?

支持。 iPad(iPadOS 15+)与 iPhone 使用方式一致。

支持哪些 Python 第三方库?

支持完整 Pip 生态。requests / pymysql / numpy / opencv-python 等主流库已内置或可直接安装。

一个脚本能同时跑在 Android 和 iOS 上吗?

业务逻辑层可以复用;平台 API(ascript.ios.* vs ascript.android.*)导入路径不同,方法签名尽量对齐。参见 Android 自动化文档

支持 AI 生成脚本吗?

支持。API 与自然语言逻辑一致,接入 Cursor / Trae / DeepSeek / ChatGPT,中文描述需求就能生成可运行脚本。