← 返回 Skills 市场
tristanmanchester

iOS Simulator Skill

作者 Tristan Manchester · GitHub ↗ · v0.1.2
cross-platform ✓ 安全检测通过
3759
总下载
2
收藏
17
当前安装
3
版本数
在 OpenClaw 中安装
/install ios-simulator
功能描述
21 production-ready scripts for iOS app testing, building, and automation. Provides semantic UI navigation, build automation, accessibility testing, and simulator lifecycle management. Optimized for AI agents with minimal token output.
使用说明 (SKILL.md)

iOS Simulator Automation

This skill provides a Node-only CLI wrapper around:

  • xcrun simctl for simulator/device/app management
  • idb for accessibility-tree inspection + synthesised UI input (tap/text/button)

It is designed for AI agents: minimal, structured output by default, with opt-in detail.

Important constraints

  • Must run on macOS with Xcode Command Line Tools (or Xcode) available.
  • If the ClawdBot gateway is not macOS, run these commands on a connected macOS node (see “Remote macOS node” below).
  • idb is optional, but required for UI tree / semantic tapping. (Install steps below.)

Quick start

# 1) Sanity check
node {baseDir}/scripts/ios-sim.mjs health

# 2) List simulators (compact)
node {baseDir}/scripts/ios-sim.mjs list

# 3) Select a default simulator (writes .ios-sim-state.json in the current dir)
node {baseDir}/scripts/ios-sim.mjs select --name "iPhone" --runtime "iOS" --boot

# 4) Install + launch an .app
node {baseDir}/scripts/ios-sim.mjs app install --app path/to/MyApp.app
node {baseDir}/scripts/ios-sim.mjs app launch --bundle-id com.example.MyApp

# 5) Inspect current UI (requires idb)
node {baseDir}/scripts/ios-sim.mjs ui summary
node {baseDir}/scripts/ios-sim.mjs ui tap --query "Log in"
node {baseDir}/scripts/ios-sim.mjs ui type --text "hello world"

# 6) Screenshot
node {baseDir}/scripts/ios-sim.mjs screenshot --out artifacts/screen.png

Remote macOS node

If you are not on macOS, run the same commands on the macOS node using ClawdBot’s node execution (e.g. exec with host: node / node tools). Ensure the skill folder exists on that node, or copy it there.

Output conventions (token-efficient)

  • Default output: single-line JSON (small summary object).
  • Add --pretty to pretty-print JSON.
  • Add --text for a short human-readable summary (when provided by the command).
  • Commands that can be huge (ui tree, list --full) are opt-in.

State / default UDID

select writes a state file (default: ./.ios-sim-state.json) that stores the chosen UDID. All commands accept --udid \x3CUUID> and otherwise fall back to the state file.

Override location with:

  • IOS_SIM_STATE_FILE=/path/to/state.json

Dependency notes

Xcode / simctl availability

If xcrun cannot find simctl, ensure Xcode CLI tools are selected (via Xcode settings or xcode-select) and run the first-launch setup:

  • xcodebuild -runFirstLaunch

idb (for accessibility automation)

Install idb_companion and the idb CLI:

brew tap facebook/fb
brew install idb-companion
python3 -m pip install --upgrade fb-idb

Safety tiers

Tier Commands Notes
SAFE list, health, boot, shutdown, screenshot, ui * No data loss
CAUTION privacy *, push, clipboard *, openurl Alters simulator/app state
DANGEROUS erase, delete Requires --yes

Command index

All commands live under:

node {baseDir}/scripts/ios-sim.mjs \x3Ccommand> [subcommand] [flags]

Core simulator lifecycle

  • list [--full]
  • select --name \x3Csubstr> [--runtime \x3Csubstr>] [--boot]
  • boot [--udid \x3Cuuid>] [--wait]
  • shutdown [--udid \x3Cuuid>|--all]
  • erase --yes [--udid \x3Cuuid>|--all]
  • delete --yes [--udid \x3Cuuid>]
  • create --name \x3Cname> --device-type \x3Csubstr> --runtime \x3Csubstr>

App management

  • app install --app \x3Cpath/to/App.app> [--udid ...]
  • app uninstall --bundle-id \x3Cid> [--udid ...]
  • app launch --bundle-id \x3Cid> [--udid ...] [-- \x3Cargs...>]
  • app terminate --bundle-id \x3Cid> [--udid ...]
  • app container --bundle-id \x3Cid> [--type data|app] [--udid ...]

Screenshots & video

  • screenshot --out \x3Cfile.png> [--udid ...]
  • record-video --out \x3Cfile.mp4> [--udid ...] (runs until Ctrl+C)

Clipboard / URL

  • clipboard get [--udid ...]
  • clipboard set --text \x3Ctext> [--udid ...]
  • openurl --url \x3Curl> [--udid ...]

Simulator permissions & push notifications

  • privacy grant --bundle-id \x3Cid> --service \x3Csvc[,svc...]> [--udid ...]
  • privacy revoke --bundle-id \x3Cid> --service \x3Csvc[,svc...]> [--udid ...]
  • privacy reset --bundle-id \x3Cid> --service \x3Csvc[,svc...]> [--udid ...]
  • push --bundle-id \x3Cid> --payload \x3Cjson-string> [--udid ...]

Logs

  • logs show [--last 5m] [--predicate \x3Cexpr>] [--udid ...]

Accessibility-driven UI automation (requires idb)

  • ui summary [--limit 12]
  • ui tree (full UI JSON array)
  • ui find --query \x3Ctext> [--limit 20]
  • ui tap --query \x3Ctext> (find + tap best match)
  • ui tap --x \x3Cnum> --y \x3Cnum> (raw coordinate tap)
  • ui type --text \x3Ctext>
  • ui button --name HOME|LOCK|SIRI|SIDE_BUTTON|APPLE_PAY

Troubleshooting

See: references/TROUBLESHOOTING.md

安全使用建议
This skill appears to do what it says: local automation of the iOS Simulator using xcrun/simctl and optionally idb. Before installing or running: 1) Confirm you will run it on a trusted macOS machine (the script requires darwin/Xcode tools). 2) Inspect the included scripts (scripts/ios-sim.mjs) yourself (or have someone you trust review them) because the skill source is listed as unknown. 3) Be aware it will write a local state file (.ios-sim-state.json) in the working directory and can read simulator app containers, logs, and screenshots — avoid running it on a macOS host that holds sensitive data you don't want accessed. 4) If you need idb functionality, install idb from official taps (brew tap facebook/fb; brew install idb-companion; pip install fb-idb) as documented. 5) Ask the publisher to correct registry metadata (declare darwin and xcrun) so the platform can enforce OS/binary restrictions. If you are uncomfortable with an unknown source, run it only on an isolated/test macOS node.
功能分析
Type: OpenClaw Skill Name: ios-simulator Version: 0.1.2 The skill bundle provides a Node.js wrapper for `xcrun simctl` and `idb` to automate iOS Simulator workflows. The `SKILL.md` provides clear instructions and transparently categorizes commands by safety tier. The `ios-sim.mjs` script uses standard Node.js modules and executes external binaries (`xcrun`, `idb`) with arguments that are either hardcoded, validated, or explicitly passed to the simulator/app. There is no evidence of intentional malicious behavior, data exfiltration, persistence, or prompt injection against the agent. All actions are aligned with the stated purpose of iOS simulator automation.
能力评估
Purpose & Capability
Name/description align with the supplied script: the CLI wraps xcrun simctl and optionally idb for UI/accessibility automation, which is expected for an 'iOS Simulator' skill. Minor incoherence: registry metadata earlier showed no OS restriction and no required binaries, while SKILL.md and the script require macOS (darwin) and xcrun (xcrun/simctl). This is likely a metadata omission but should be corrected.
Instruction Scope
SKILL.md directs the agent to run the included Node script which invokes local tools (xcrun/simctl and optionally idb), list/boot/erase simulators, install/uninstall apps, access app containers, capture screenshots/logs, and write a local state file (.ios-sim-state.json or custom IOS_SIM_STATE_FILE). All actions are within the expected domain for simulator management; there are no instructions to read unrelated system files or exfiltrate data to remote endpoints. The skill does instruct copying/running on a remote macOS node when needed, which is reasonable but requires user caution.
Install Mechanism
No install spec is provided (instruction-only install), and the code is bundled in the skill (scripts/ios-sim.mjs). SKILL.md suggests optional brew/pip installs for idb (facebook/fb tap and fb-idb), which are standard for that tool. There are no downloads from unknown/shortened URLs or archive extraction steps in the manifest.
Credentials
The skill declares no required credentials or env vars; it uses an optional IOS_SIM_STATE_FILE and reads PATH to discover binaries. The script can access simulator app containers and logs (app container, logs, screenshots), which is appropriate for its purpose but means it can read potentially sensitive app data that exists inside simulator files. No unrelated secrets are requested.
Persistence & Privilege
always:false and user-invocable defaults are used. The skill writes a local state file in the working directory (.ios-sim-state.json) and does not request system-wide configuration changes or access to other skills' configs. Autonomous invocation is allowed (platform default) but is not combined with broad credential access or persistent privileges.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install ios-simulator
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /ios-simulator 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.2
Major update: Migrated to a minimal Node-based CLI, focusing on simctl/idb automation and streamlined command set. - Replaced 21+ mixed Python/bash scripts with a single `ios-sim.mjs` Node CLI. - Simplified functionality: core iOS Simulator device, app, and UI automation (create/boot/install/launch/tap/screenshot/etc). - Default output is now single-line JSON for token efficiency; pretty output and summaries are opt-in. - Added structured troubleshooting documentation. - All advanced/specialized scripts removed; only essential simctl/idb workflows remain.
v0.1.1
Update for ClawdBot (remove Claude references)
v0.1.0
- Initial release of ios-simulator-skill with 21 production-ready scripts for iOS app testing, building, and automation - Scripts cover build automation, semantic UI navigation, accessibility testing, simulator lifecycle management, permissions, and device operations - Optimized script outputs for AI agent consumption with minimal tokens and optional JSON formatting - All scripts support environment autodetection, batch operations, and human or machine-readable outputs - Comprehensive documentation and usage patterns included for quick onboarding
元数据
Slug ios-simulator
版本 0.1.2
许可证
累计安装 18
当前安装数 17
历史版本数 3
常见问题

iOS Simulator Skill 是什么?

21 production-ready scripts for iOS app testing, building, and automation. Provides semantic UI navigation, build automation, accessibility testing, and simulator lifecycle management. Optimized for AI agents with minimal token output. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 3759 次。

如何安装 iOS Simulator Skill?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install ios-simulator」即可一键安装,无需额外配置。

iOS Simulator Skill 是免费的吗?

是的,iOS Simulator Skill 完全免费(开源免费),可自由下载、安装和使用。

iOS Simulator Skill 支持哪些平台?

iOS Simulator Skill 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 iOS Simulator Skill?

由 Tristan Manchester(@tristanmanchester)开发并维护,当前版本 v0.1.2。

💬 留言讨论