NoMacSign in
← Blog

Where to build an iOS app when you have no Mac

A straight comparison of the ways to get a signed iOS build without owning a Mac — what each one assumes you already know, what it costs, and which one fits an agent-driven workflow.

· 8 min read


Every option here produces the same artefact: a signed .ipa built on a Mac you do not own. They differ in what they assume you already know, and that assumption is the whole decision. Prices are as published at the time of writing — check them, they move.

OptionAssumes you knowRough costBest for
GitHub ActionsYAML, Fastlane, keychain and signing setupmacOS runners billed at a 10× minute multiplierTeams already living in GitHub
CodemagicMobile CI concepts, some YAML500 free macOS minutes, then ~$0.095/minFlutter and cross-platform teams
BitriseCI workflow designFree hobby tier; Pro from ~$200+/monthLarger mobile teams with a CI owner
Xcode CloudXcode, and owning a Mac to configure itCompute hours, some included with the developer programmeAll-Apple teams already in Xcode
EAS BuildThe Expo toolchain30 free builds/month, then ~$3 per iOS buildReact Native and Expo apps
NoMacNothing about CI$5 or $20 a month, flatSolo builders and agents shipping native apps

The question that actually decides it

Not price. It is: do you want to operate a pipeline, or do you want an app on a phone?

Those are different products sold with similar words. A CI platform gives you a programmable build machine — enormously powerful, and it expects you to bring signing knowledge, Fastlane, a workflow file and an afternoon. That is a good trade when you have engineers. For a solo person whose app was written mostly by an agent, the pipeline is a second project larger than the first.

GitHub Actions

Free-ish if you are already there, and the macOS runners are real. The cost that surprises people is the minute multiplier — macOS minutes bill at roughly ten times Linux — and the cost that hurts is the setup: certificates in secrets, a keychain created and unlocked in a step, a Fastlane lane that works on a fresh runner. Everything in iOS code signing errors, decoded is a thing you will meet personally.

Codemagic and Bitrise

Purpose-built mobile CI, good at what they do, and both now ship MCP servers so an agent can trigger builds. Codemagic starts cheap and meters; Bitrise sells seats and tiers, with Pro plans starting north of two hundred dollars a month. Either is a sound choice for a team with someone who owns CI. Neither is designed for someone who has never seen a provisioning profile — the onboarding assumes a mobile engineer, because that is who they sell to.

Xcode Cloud

The most integrated option and the most Apple-shaped: it lives inside Xcode, understands signing natively, and hands off to TestFlight cleanly. The catch is circular for our purposes — configuring it comfortably means opening Xcode, which means owning a Mac, which is the problem we started with.

EAS Build

Excellent if you are on Expo, and it can build bare native projects too. But the audience, docs and defaults all assume the Expo toolchain, and thirty free builds a month goes fast when you are iterating with an agent that ships four times an hour.

NoMac

Disclosure: ours. It is a narrower product on purpose. There is no workflow file, because there is no workflow to write — the pipeline is fixed: build, TestFlight, review checks, submit. It is driven by a CLI, an API, or MCP tools an agent calls itself, and it goes past TestFlight to the actual App Store submission, which most of this list leaves to you in App Store Connect.

What that costs you is flexibility. If you need a custom build matrix, a bespoke test stage, or an artefact pipeline feeding three environments, use a real CI platform — that is what they are for.

An honest test.If you can write a Fastlane lane from memory, pick a CI platform; you will get more from it. If the sentence “import the .p12 into a temporary keychain and unlock it in the build step” means nothing to you, you do not need to learn it to ship an app — and the time is better spent on the app.

What none of them do for you

  • ·Create the app record in App Store Connect the first time. Still manual, everywhere.
  • ·Answer the App Privacy label or the age-rating questionnaire — attestations, not data entry.
  • ·Make an app distinctive enough to pass guideline 4.3.

Which is why the build service is the smaller half of the problem. See Apple's three paperwork blockers and why App Review rejects AI-built apps for the half that actually stops releases.

Ship it without a Mac.

Signed builds, TestFlight and App Store submission — driven by your agent.

Start shipping