nomac

Ship iOS builds without a Mac.

Push to GitHub. nomac builds your Flutter, React Native, or Xcode project on real Apple hardware, signs it with your own App Store Connect key, and delivers it to TestFlight.

Trusted beta — free builds while we harden the service.

Illustrative departures board: builds move from Queued through Building and Signing to Succeeded, landing in TestFlight or as a notarized DMG.

3 free builds a month
$7 one build, skips the queue
$19 a month for 15 builds
No meters

From git push to TestFlight.

Three stops between git push and TestFlight. You watch every one of them live.

  1. Connect your repo

    Sign in with GitHub and point nomac at your Flutter, React Native, or Xcode repository.

    git push origin main
  2. nomac builds on real Macs

    Your code builds and signs on Apple hardware with your App Store Connect key — you watch the logs live.

    xcodebuild archive · sign
  3. TestFlight, done

    The signed IPA uploads to TestFlight automatically. You get an email; your testers get a build.

    → TestFlight

No p12 files. Ever.

Code signing is where trust is won or lost. nomac is built so it never holds more than it must.

  • Your App Store Connect key, nothing else

    You provide an API key (App Manager role). nomac uses it with ephemeral keychains and forgets it when the build ends.

  • Encrypted at rest

    Keys are AES-256-GCM encrypted the moment they reach us, and decrypted only inside a build's throwaway keychain.

  • Revoke = instant lockout

    Revoke the key in App Store Connect and nomac loses access immediately. You stay in control.

  • Temporary artifacts

    IPAs and dSYMs live as signed links for 7 days, then expire. Nothing accumulates.

Everything the build needs, nothing it doesn't

A self-serve dashboard and live logs are the product — not a nice-to-have.

Auto-detects your stack

pubspec.yaml → Flutter. package.json + ios/ → React Native. A root .xcodeproj → bare Xcode. Zero config unless you want it.

Live build logs

Stream xcodebuild output in your browser while the build runs — no guessing what broke.

Cached, fast rebuilds

Per-project pub, node_modules, and DerivedData caches. Cached rebuilds target under 15 minutes.

Your keys stay yours

Sign with your own App Store Connect API key — encrypted at rest, decrypted only into an ephemeral keychain per build. nomac never stores p12s.

Artifacts, signed & temporary

IPAs and dSYMs land as signed download links, expiring after 7 days. Nothing lives forever.

Notified, not nagged

Email or Slack when a build finishes or fails. Watch it live if you'd rather.

Priced per build. Nothing meters.

A build is a build, whether it takes four minutes or twenty-nine. Start free, buy one build for $7, or take 15 a month for $19.

Fare Price Allowance Includes Action
Free
$0 every month
3 builds a month
  • Unlocked by installing the GitHub App
  • Flutter, React Native, Xcode
  • Live build logs
One-off
$7 per build
1 build credit
  • Skips the free queue
  • Signed IPA to TestFlight
  • Artifacts kept 7 days
Starter
Best per-build rate
$19 per month
15 builds a month
  • A build is a build — no minutes
  • 30-minute cap per build
  • Email + Slack notifications
Notarize
$7 per artifact
1 free probe a month
  • codesign, notarytool, stapler
  • Upload a zip with one .app
  • Same credit wallet as builds

How nomac compares

Of these four, the only one that sells a single build, and the only one that never stores your signing material.

Feature nomac Codemagic Expo EAS GitHub Actions macOS
Entry price $7 one build · $19/mo for 15$0.095 per minute (M2)$19/mo + $2 per iOS build$0.062 per minute
Billing model Per buildMetered per minuteSubscription + per buildMetered per minute
Free tier 3 builds a month500 minutes a month15 iOS builds a month, low-priority queueIncluded plan minutes
Buy a single build Yes — $7NoNoNo
Signing material Your ASC key, ephemeral keychain, no p12 storedp12 stored, encryptedCredentials held in KMSYour p12 in repo secrets

Prices as published by each service, checked 27 September 2026.

Questions

The ones everyone without a Mac eventually asks.

Do I need a Mac at all?

No. You develop on Windows or Linux, push to GitHub, and nomac handles the Xcode build, code signing, and TestFlight upload on real Apple hardware.

Which project types are supported?

Flutter, React Native, and bare Xcode projects today. A build.yaml at the repo root overrides auto-detection if you need something specific.

How does code signing work?

You upload your own App Store Connect API key (App Manager role). It is encrypted at rest, decrypted only into an ephemeral keychain for each build, and revoking it in App Store Connect instantly locks nomac out. nomac never asks for or stores p12 files.

Is this allowed by Apple?

Builds are customer-initiated on genuine Apple hardware — the same model used by Mac-cloud providers like MacStadium and Orka.

How are builds billed?

Per build, never per minute. A build uses one slot of your monthly allowance or one $7 credit, whether it takes four minutes or twenty-nine (builds are capped at 30). Remaining builds and credits are shown in your dashboard.

What happens if a build fails?

You see the failure reason and the exact log lines in the dashboard, get an email/Slack alert, and can retry with one click.

How is this different from nomac.app?

They rent you a cloud Mac that your AI agent drives, billed by the minute. nomac is a build service: push to GitHub and the signed IPA lands in TestFlight — no agent orchestration, no session to babysit. You pay per build, not per minute, and there's a notarize-only endpoint for artifacts built elsewhere.

Join the trusted beta.

Free builds while we harden the service. Bring a repo, watch it build.

Join the beta