SuperAPI AI Directory

xcode-run-device

Coding & development

View repository

Updated 10-16 05:38

About this skill

Build + run on a connected iOS device

Build the Xcode workspace or project under the current working directory and launch it on a wired-connected iOS device via Xcode 15+ devicectl. Requires a configured signing team in the project and a trusted, paired device.

How to run

The shared agent-skill-xcode.el lives in the sibling xcode-shared directory at skills/xcode-shared/agent-skill-xcode.el in the emacs-skills plugin. All four /xcode-* skills load it from there.

emacsclient --eval "(progn (load \"/path/to/skills/xcode-shared/agent-skill-xcode.el\" nil t) (agent-skill-xcode-run-device :project-dir \"$(pwd)\"))"

The function:

  • Locates the workspace/project and picks a scheme.
  • Locates the first connected device via xcrun devicectl list devices -j.
  • Runs xcodebuild build against the device's specific UDID.
  • Reads BUILT_PRODUCTS_DIR / WRAPPER_NAME / PRODUCT_BUNDLE_IDENTIFIER from -showBuildSettings -json.
  • Installs (xcrun devicectl device install app) and launches (xcrun devicectl device process launch).
  • Returns a multi-line status string. On build failure, returns the same error format as /xcode-build-device.

Rules

  • Pass the agent's current working directory as :project-dir via $(pwd).
  • The shared elisp lives under xcode-shared/agent-skill-xcode.el — load it from there.
  • Run via the Bash tool with a single emacsclient --eval invocation. Builds can take minutes; consider extending the Bash timeout if known to be slow.
  • Report the returned status string verbatim.
  • If the function signals "No connected iOS device found", tell the user to plug in a device and trust the Mac on it.
  • If the build fails with a code-signing error, point them at Xcode → target → Signing & Capabilities → Team. Don't try to fix signing automatically.
  • Requires Xcode 15+ for devicectl. If xcrun devicectl is missing, tell the user to update Xcode.