Files

50 lines
2.4 KiB
Markdown

---
name: ios-tester
description: >-
检查并运行 iOS 真机或 Xcode Simulator 测试,生成可追溯结果;支持 Linux 上识别
不可本地运行 Simulator 的边界,并通过 macOS 或远程 Mac 执行。触发词:iOS 测试、
苹果测试、iPhone 真机、iOS Simulator、Xcode 测试、远程 Mac 测试。
---
# iOS Tester
本 skill 负责 iOS 测试环境判定、测试执行编排和结果报告,不伪造 Linux 上不存在的
iOS Simulator。项目根是 `git rev-parse --show-toplevel`。
远程 Mac 的 environment/project/path、Agent CLI、model 和 reasoning effort 使用共享
`agent-runtime` 的 binding(例如 `builder.ios` 或 `tester.ios`);本 skill 只负责 iOS
工具链和设备环境门禁。Linux 没有本地 iOS 工具链时,不能把远程 binding 静默改成本机。
## 模式路由
- 用户要求检查环境:先读 `references/environment.md`。
- 用户要求真机测试:读 `references/device.md`。
- 用户要求 Simulator 测试:读 `references/simulator.md`。
- 用户要求远程 Mac 或云设备:先读取对应目标配置,再按同一环境/执行/报告闭环。
- 用户要求结果或失败复盘:读 `references/reporting.md`。
## 全局硬规则
- 每次执行前必须检查环境;环境不完整记 `environment-fail`。
- 真机、Simulator、远程 Mac 必须由用户明确选择,禁止自动 fallback。
- Linux 本机不能安装或运行 Apple 官方 iOS Simulator;不能把 Android 模拟器或浏览器
结果冒充 iOS 结果。
- macOS/Xcode 是本地 iOS Simulator 和完整 iOS 真机开发测试的官方工具链。
- 不自动申请 Apple Developer 账号、签名证书、Provisioning Profile 或设备授权。
- 不清除真机数据、不重启真机、不修改 Apple 账号或钥匙串。
- 结果使用 `pass/fail/environment-fail/skipped/not-run`,并区分环境阻塞与产品失败。
## 运行顺序
1. 明确目标:local-device、local-simulator、remote-mac 或 cloud-device。
2. 检查 Xcode、Simulator runtime、设备配对/签名和项目测试配置。
3. 只有环境通过后才构建、安装或运行测试。
4. 采集 xcodebuild、设备/Simulator 日志和失败证据。
5. 生成运行快照、成绩单和结果总结。
## 验证
- `pouch check ios-tester` 通过。
- macOS Simulator 和物理设备各完成一条 readonly 测试,或在 Linux 上明确得到
Simulator 不可用的 `environment-fail` 报告。