用途 该技能用于为物理 iOS 设备构建当前 Xcode 项目。当用户调用 "/xcode-build-device" 时触发,针对当前工作目录下的 Xcode 工作区或项目执行构建,使用通用设备目标(generic destination,不指定具体 UDID)。
主要能力
- 在当前工作目录中定位第一个 .xcworkspace(优先)或 .xcodeproj。
- 通过 xcodebuild -list -json 选择一个 scheme。
- 执行 xcodebuild build -destination 'generic/platform=iOS' 进行构建。
- 成功时返回 "Build succeeded: ...";失败时返回 "Build FAILED: ...\n--- last 40 lines ---\n..."。
使用方式 共享的 agent-skill-xcode.el 位于 emacs-skills 插件中同级 xcode-shared 目录下,路径为 skills/xcode-shared/agent-skill-xcode.el,四个 /xcode-* 技能均从该处加载。通过 Bash 工具以单次 emacsclient --eval 调用执行:
emacsclient --eval "(progn (load "/path/to/skills/xcode-shared/agent-skill-xcode.el" nil t) (agent-skill-xcode-build-device :project-dir "$(pwd)"))"
规则
- 通过 $(pwd) 将 agent 的当前工作目录作为 :project-dir 传入,不要假定硬编码路径。
- 共享 elisp 位于 xcode-shared/agent-skill-xcode.el,应从该处加载,而非本技能目录。
- 通过 Bash 工具以单次 emacsclient --eval 调用运行。
- 失败时逐字报告返回的状态字符串。
- 若失败信息涉及代码签名,提示用户前往 Xcode → target → Signing & Capabilities → Team,不要尝试自动修复签名。
- 若用户还希望在设备上运行应用,建议使用 /xcode-run-device。
适用场景 适用于需要为物理 iOS 设备构建 Xcode 项目的开发流程,尤其是通过 Emacs 环境调用构建的场景。
限制 需要项目已配置签名团队,否则 xcodebuild 会因代码签名错误失败。技能不会自动处理签名问题。