iOS 模拟器自动化与 UI 探针

iOS Simulator Skill

收藏 11.5k
下载 3.8k
版本 0.1.2

基于 simctl 与 idb 的 Node.js CLI 封装,支持 iOS 模拟器生命周期管理、应用安装启动、UI 无障碍自动化及截图录屏。专为 AI 代理设计,输出结构化 JSON,需 macOS + Xcode 环境。

基本信息

  • 技能名称?iOS Simulator Skill
  • 中文名称?iOS 模拟器自动化与 UI 探针
  • 作者?tristanmanchester
  • 分类?专业技能
  • 版本?0.1.2
  • 标签?ios, simulator, simctl, idb, xcode, automation, testing, mobile, accessibility, cli

使用方法

使用说明
核心用法
iOS Simulator Automation 是面向 AI 代理的 Node.js CLI 工具,封装 Apple 原生 simctl 与 Facebook 开源 idb ,提供完整的 iOS 模拟器自动化能力。
基础流程 : health 环境检测 → list/select 设备管理 → app install/launch 应用部署 → ui * 无障碍交互 → screenshot 取证归档。支持通过 .ios-sim-state.json 维持会话状态,避免重复指定 UDID。
UI 自动化 (需 idb):基于 Accessibility Tree 实现语义化操作,支持 ui tap --query "Login" 、 ui type --text "input" 、 ui button HOME 等指令,相比坐标点击更具鲁棒性。 ui tree 输出完整可访问性树,但默认限流以控制 token 消耗。
关键特性 :
三级安全分层:SAFE(查询/截图)、CAUTION(隐私/推送)、DANGEROUS(抹除/删除需 --yes )
Token 优化设计:默认单行 JSON, --pretty / --text 按需展开,大输出命令显式 opt-in
远程 macOS 节点支持:非 Darwin 网关可通过 ClawdBot 节点执行透传
显著优点

  1. AI 原生设计 :结构化输出、状态持久化、错误归一化,降低 LLM 解析成本
  2. 语义化 UI 自动化 :idb 驱动的无障碍树操作,比传统坐标点击更适配动态布局
  3. 完整生命周期覆盖 :从设备创建、系统镜像管理到应用调试、隐私授权、推送模拟一站式解决
  4. 安全可控 :命令分级 + 强制确认机制,降低误操作风险
    潜在局限
    平台锁定 :必须 macOS + Xcode,Windows/Linux 仅能通过远程节点间接使用
    idb 依赖较重 :Python/pip 安装链,版本兼容性偶发问题;无 idb 时 UI 自动化完全不可用
    企业级功能缺失 :无性能压测(如 FPS/CPU 细粒度监控)、无多设备并行编排、无 CI 原生报告格式
    状态文件局限 : .ios-sim-state.json 按工作目录隔离,跨目录会话不共享
    适合人群
    iOS 开发/测试工程师构建自动化验收流程
    QA 团队快速复现用户上报的特定系统版本问题
    AI Agent 开发者需程序化操控 iOS 模拟器进行应用探针或数据采集
    常规风险
    | 风险点 | 说明 | |--------|------| | 数据丢失 | erase/delete 不可逆,虽有 --yes 强制确认,但脚本逻辑错误仍可能导致误删 | | 隐私泄露 | clipboard get 可读取模拟器剪贴板,含敏感信息时输出日志可能外泄 | | 环境漂移 | Xcode 版本升级后 simctl 行为变化,idb 与 iOS 版本不匹配导致 UI 树解析失败 | | 远程执行 | 跨节点调用时路径映射、文件同步易出错,大体积 .app 传输带宽敏感 |

标签

专业技能

💬 评论 (0)

发表评论

支持 Markdown

📭 还没有评论,快来抢沙发吧!