Skip to main content

Cloud iOS builds from any machine

Build iOS apps without owning a Mac

The hard part is not compiling Swift. It is Xcode, certificates, provisioning profiles, App Store Connect keys, and one laptop becoming the release gate. Capgo Builder gives Capacitor teams a CLI-first path to signed iOS builds from anywhere.

0 Macs
local Apple hardware required
1 CLI flow
guided signing setup
Live updates
daily web changes
Capgo Builder
npx @capgo/cli@latest build init --platform ios
npx @capgo/cli@latest build request --platform ios
# signed build runs on an ephemeral Mac runner
# logs stream back to your terminal

Managed Mac capacity

Run iOS builds where Apple requires them. Trigger them from the machine you already use.

Same Capgo release loop

Keep native binaries for native changes and use OTA for web changes after the store build is installed.

The Problem

iOS should not force every web team to become a Mac ops team

One Mac becomes the release bottleneck

A small release turns into a hardware and signing problem when the team needs Xcode, a valid macOS setup, and the exact certificates stored on one machine.

Signing knowledge stays tribal

If the person with the working certificate profile is offline, the release waits. If the profile expires, everyone relearns Apple signing under pressure.

DIY macOS CI becomes another product

Self-hosted macOS CI still needs secrets, Fastlane lanes, Xcode image updates, log retention rules, and debugging when Apple changes behavior.

The hidden work

What usually makes iOS builds painful

Buying a Mac only solves the hardware requirement. It does not remove Apple signing, credential drift, runner maintenance, or the teammate bottleneck.

1

Apple account setup

You need the right Apple Developer team, bundle ID, capabilities, App Store Connect app record, and upload permissions before the first build can succeed.

2

Signing files and profiles

A release build needs a distribution certificate, P12 export, provisioning profile, profile-to-bundle mapping, and renewal process when anything expires.

3

Mac build operations

Xcode versions, macOS runners, CocoaPods, Fastlane, secret stores, and upload logs all become infrastructure your product team has to maintain.

CLI example

Two commands replace the Mac-only release ritual

The normal iOS path asks you to understand Apple signing before you can even learn if your app builds. Capgo turns that into an interactive setup and one build request.

# First-time iOS setup
npx @capgo/cli@latest build init --platform ios

# Then any teammate or CI runner can request the build
npx @capgo/cli@latest build request --platform ios

The Solution

What Capgo handles for you

Capgo separates the rare binary problem from the daily product problem. Native builds get signed in the cloud; web changes keep moving through live updates.

Mac hardware only when the build needs it

Capgo Builder runs iOS builds on managed Apple hardware. Your Windows, Linux, or low-spec laptop can still trigger a signed iOS build from the terminal.

Certificate setup becomes a guided flow

The CLI guides you through the hard Apple pieces: bundle ID, App Store Connect key, distribution certificate, P12, provisioning profile, and multi-target profile mapping.

CLI-first release automation

Run the same command locally, in CI, or from an agent workflow. You do not have to move releases into a dashboard or teach every teammate Xcode.

Native builds plus live updates

Use Builder when native code, plugins, icons, permissions, or SDK versions change. Use live updates for JavaScript, CSS, and asset changes between store submissions.

Trust model

Use cloud hardware without handing over the release process

Cloud builds should remove operational risk without creating a new place where source, keys, and logs live forever.

No full repo handoff

Only the files needed for the native build are sent to the runner. Capgo does not need to clone your full Git repository to produce a build.

Live logs by default

Build logs stream to your terminal so sensitive output does not become another long-lived database your team has to audit.

Ephemeral build environments

Credentials are passed to the active build environment and wiped after the build. The builder is a temporary runner, not a permanent credential vault.

Workflow

From Capacitor project to signed iOS build

1

Initialize Builder

Run the Builder init flow from the project. The CLI reads your Capacitor app and walks you through platform setup.

2

Set signing up

Create or import signing credentials, map provisioning profiles to bundle IDs, and export CI-ready environment files when you are ready.

3

Run a cloud build

Request a signed iOS build from local terminal, CI, or an agent workflow and stream logs while it runs.

4

Release and keep moving

Upload to TestFlight or collect an IPA, then keep shipping JS and asset fixes with Capgo live updates.

User signal

The main relief users mention is not just no Mac. It is that the release process becomes repeatable: init once, request a build, stream logs, and stop passing signing files around the team.

Common Capgo Builder feedback

Ship iOS without buying and maintaining a Mac

Start with one signed iOS build, then add Android, CI, live updates, and team workflows when your release process grows.