SuperAPI AI 工具集

ios-simulator

测试与质量

查看项目

更新于 10-16 01:08

技能介绍

用途:在 iOS Simulator 中运行、检查与诊断 App,用 Apple 的 xcrun simctl 处理生命周期与应用操作,用当前 idb 处理无障碍与输入。需将 SKILL_DIR 解析为包含本文件的目录,它并非应用仓库的 scripts/ 目录。

主要能力与用法:先确立目标,运行 xcode-select -p、xcodebuild -version、xcrun simctl list --json、idb --help、idb list-targets,记录 Xcode/运行时、精确 simulator UDID、App bundle ID、构建配置与复现步骤;从真实清单中选择,所有操作使用同一 UDID,先检查有效的 IDB_COMPANION/IDB_UDID 配置且不暴露凭据。仅在获授权时安装缺失工具或运行时,上游路线为 brew install facebook/fb/idb(含客户端与 companion),需要完整 Xcode 而非独立 Command Line Tools。按需启动后等待:xcrun simctl bootstatus "$UDID" -b,启动请求不等于应用就绪。安装、启动并采集初始截图/无障碍状态,命令示例:xcrun simctl install "$UDID" /absolute/path/MyApp.app;xcrun simctl launch "$UDID" com.example.MyApp;idb ui describe-all --udid "$UDID";idb ui text 'test text' --udid "$UDID";xcrun simctl io "$UDID" screenshot /absolute/path/evidence.png。读取 UI、解析唯一目标元素、执行一次授权操作并检查后置条件,布局或导航变化后重新读取;证据取最小可用集,区分进程完成与应用行为。idb ui text 针对当前聚焦字段,勿在参数中使用真实凭据。标记匹配为首次子串匹配而非唯一相等,需检查候选、拒绝歧义,可用时以 --expected-value 保护。可选 helper 以非交互、无 shell 方式运行有界命令:node "$SKILL_DIR/scripts/run.mjs" --timeout-ms 120000 -- xcrun simctl bootstatus "$UDID" -b,输出 JSON 封装,输出默认上限 1 MiB,可用 --max-bytes 调整至 16 MiB,它不解析命令自身结果、不批准操作、不脱敏、不保证终止远程工作。

适用场景与限制:模拟器应用可访问真实服务,UI 输入、URL、推送、权限、卸载、抹除、删除均为变更操作;破坏性操作前须确认目标与数据丢失,勿默认全部或抹除。截图与日志应保持私密并分享前审查。报告构建/UDID、操作、预期与实际结果、证据路径与未解决失败。模拟器成功不代表真机性能、商店计费、硬件行为或提交就绪。维护者校验:node --test "$SKILL_DIR/tests/run.test.mjs",仅测试本地子进程语义,不涉及 Xcode、idb 或真实应用。