用途
该技能在用户调用 "/xcode-run-simulator" 时使用,用于构建当前 Xcode 项目、将应用安装到 iOS 模拟器并启动它。
主要能力
- 构建当前工作目录下的 Xcode workspace 或 project,并在 iOS 模拟器上启动。
- 若已有模拟器处于启动状态,则直接复用该模拟器;否则自动启动最新的可用 iPhone 模拟器,并将 Simulator.app 带到前台。
- 定位 workspace/project 并选择 scheme(与 /xcode-build-simulator 使用相同的启发式规则)。
- 针对模拟器特定的 UDID 运行 xcodebuild build。
- 通过 -showBuildSettings -json 读取 BUILT_PRODUCTS_DIR、WRAPPER_NAME、PRODUCT_BUNDLE_IDENTIFIER。
- 执行安装(xcrun simctl install)与启动(xcrun simctl launch)。
- 返回多行状态字符串,包含 bundle id、模拟器 UDID、.app 路径、安装结果和启动结果。构建失败时,返回与 /xcode-build-simulator 相同的错误格式。
使用方式
共享的 agent-skill-xcode.el 位于 emacs-skills 插件中同级目录 xcode-shared 下,路径为 skills/xcode-shared/agent-skill-xcode.el。四个 /xcode-* 技能都从该位置加载它。
运行命令:
emacsclient --eval "(progn (load "/path/to/skills/xcode-shared/agent-skill-xcode.el" nil t) (agent-skill-xcode-run-simulator :project-dir "$(pwd)"))"
规则
- 通过 $(pwd) 将 agent 的当前工作目录作为 :project-dir 传入。
- 共享 elisp 位于 xcode-shared/agent-skill-xcode.el,从该位置加载。
- 通过 Bash 工具以单次 emacsclient --eval 调用运行。构建可能耗时数分钟;若已知较慢,可考虑延长 Bash 超时时间。
- 原样报告返回的状态字符串,它已包含用户所需的全部信息。
- 若已有模拟器处于启动状态,不要尝试选择其他模拟器——复用正是其目的。
- 若构建失败,指向输出中被截断的尾部;不要重新运行构建。
适用场景
适用于在 Emacs 环境中通过 agent 技能快速完成 Xcode 项目的模拟器构建、安装与启动流程,尤其是需要复用已启动模拟器、避免重复选择设备的场景。
限制
资料未提供关于收费、价格、平台支持范围、构建耗时上限或失败重试策略的更多信息。