Back to Skills

limrun-xcode

Build an iOS / Apple app on remote Xcode with `lim xcode build` instead of local xcodebuild, from any environment (Linux, Windows, macOS, VM, container). Use for non-Bazel projects (an `.xcodeproj` / `.xcworkspace`, an XcodeGen `project.yml` with a gitignored project, React Native / Expo native build) when the user wants to build, compile, reload, produce a preview build, or ship a signed device IPA. To run, tap, screenshot, or otherwise interact with the result on a simulator, use limrun-ios-si

1stars1forksUpdated 7/25/2026

Security Assessment

Safe(92/100)
Security Score92/100

About limrun-xcode

limrun-xcode lets an agent build iOS and other Apple apps on Limrun's remote Xcode instances instead of a local Mac, using the `lim xcode build` command in place of `xcodebuild`. This solves a common cross-platform pain point: developers on Linux, Windows, containers, or VMs (or anyone without a local Xcode toolchain) can still compile, install, and iterate on Apple apps. The skill explicitly instructs the agent never to fall back to local Xcode or simulators, and to treat a green build as only the halfway point — the goal is a running, verified app.

The skill documents a full workflow: authenticating via `lim login` or the `LIM_API_KEY` environment variable, installing the CLI with npm, and building non-Bazel projects (an `.xcodeproj`/`.xcworkspace`, an XcodeGen `project.yml`, or React Native/Expo native builds). It covers scheme/workspace/configuration flags, force-syncing generated inputs with `--include` regexes, remote XcodeGen project generation, attaching a remote simulator, and producing signed device IPAs with p12 certificates and provisioning profiles. It also documents shipping straight to TestFlight using App Store Connect API keys, and lists specific build-failure strings and their remedies.

It targets iOS/Apple developers, CI engineers, and cross-platform teams who want Mac-free Apple builds. Typical use cases include compiling and previewing an app from a Linux container, producing a signed IPA for real devices, and uploading TestFlight builds. For driving the running app (tap, screenshot, record) it defers to the limrun-ios-simulator skill, and for Bazel workspaces it defers to limrun-xcode-bazel.

FAQ

What do I need to use this skill?

The `lim` CLI (installable via `npm install --global lim`) and Limrun authentication, either through `lim login` or a `LIM_API_KEY` environment variable that may already be set outside the project.

Can I build Apple apps without a Mac?

Yes. The whole point is that sources are synced to a remote Xcode instance and built there, so you can build from Linux, Windows, macOS, a VM, or a container without local Xcode or simulators.

Does it support signed device builds and TestFlight?

Yes. You can produce a signed IPA with `--sdk iphoneos`, a p12 certificate (including its CA chain), and a provisioning profile, then optionally push straight to TestFlight with App Store Connect API key flags.

How do I run and interact with the built app?

Attach a remote simulator with `lim ios create --attach`; successful builds auto-reinstall and relaunch. To tap, type, screenshot, or record, switch to the separate limrun-ios-simulator skill.

What if a flag isn't documented here?

The skill treats the CLI as the source of truth and directs the agent to run `lim xcode build --help` rather than guessing at flags.

Install limrun-xcode

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill