iOS 设备通过 WebDriverAgent 接入 AutoGLM
iOS 支持的现状
AutoGLM 通过 WebDriverAgent(WDA)接入 iOS 设备。WDA 是 Facebook 开源的 iOS 自动化测试框架,在设备上运行一个 HTTP 服务,对外暴露 WebDriver 协议。AutoGLM Phone Agent 框架调用 WDA 的 API 完成截图、点击、输入等操作。
iOS 的整体体验略逊于 Android:ADB 是 Google 官方的命令行工具,稳定且无门槛;WDA 需要在 Mac 上用 Xcode 编译签名,配置门槛高一些。
前置条件
- Mac 电脑(WDA 必须在 Xcode 中编译,Windows 无法完成)
- iOS 12.0+ 设备
- Apple 开发者账号(免费账号即可,但 WDA 需要每 7 天重新签名)
- USB 数据线
安装步骤
完整的 iOS 配置流程见 Open-AutoGLM 仓库 docs/ios_setup/ 目录。核心步骤概括如下:
第一步:克隆 WebDriverAgent
git clone https://github.com/facebookarchive/WebDriverAgent.git
cd WebDriverAgent
./Scripts/bootstrap.sh
第二步:用 Xcode 打开并编译
用 Xcode 打开 WebDriverAgent.xcodeproj,选择你的开发者团队,签名安装到 iPhone。首次需要在手机上信任开发者证书:设置 → 通用 → VPN 与设备管理 → 信任你的开发者账号。
第三步:启动 WDA
在 Mac 上执行:
cd WebDriverAgent
xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=你的iPhone设备ID' test
第四步:端口转发
iproxy 8100 8100
WDA 默认监听设备上的 8100 端口,iproxy 把它转发到 Mac 本地。验证:浏览器打开 http://localhost:8100/status,能看到 JSON 输出说明 WDA 跑起来了。
AutoGLM 中使用 WDA
python main.py --device-type wda --device-id http://localhost:8100 --base-url http://你的模型服务地址 "打开 Safari 访问官网"
--device-id 参数传 WDA 的 HTTP 服务地址(默认 8100 端口)。
iOS 与 Android 的对比
| 方面 | Android (ADB) | iOS (WDA) |
|---|---|---|
| 安装门槛 | 下载 Platform Tools 解压 | Mac + Xcode + 开发者证书 |
| 输入支持 | ADB Keyboard 注入 | WDA 原生 API |
| 稳定性 | 成熟 | 较新,需要维护 |
| 签名限制 | 无 | 免费开发者账号 7 天重签 |
| 官方文档 | 完备 | 仓库内有专门 ios_setup 文档 |
常见问题
WDA 启动后设备列表为空:Xcode 版本过低,升级到最新版;或者设备没开启开发者模式。
WDA 编译失败:证书/Team 设置问题,Xcode 中选择正确的开发者团队,检查 Bundle Identifier 是否唯一。
iproxy 连接拒绝:WDA 没启动成功,回 Xcode 看日志;或者 USB 线断开。
相关阅读
- ADB 安装与 Android 调试(Android 对比参考)
- 设备前置检查清单