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.
From git push to TestFlight.
Three stops between git push and TestFlight. You watch every one of them live.
-
Connect your repo
Sign in with GitHub and point nomac at your Flutter, React Native, or Xcode repository.
git push origin main -
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 -
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.
- Unlocked by installing the GitHub App
- Flutter, React Native, Xcode
- Live build logs
- Skips the free queue
- Signed IPA to TestFlight
- Artifacts kept 7 days
- A build is a build — no minutes
- 30-minute cap per build
- Email + Slack notifications
- 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 build | Metered per minute | Subscription + per build | Metered per minute |
| Free tier | 3 builds a month | 500 minutes a month | 15 iOS builds a month, low-priority queue | Included plan minutes |
| Buy a single build | Yes — $7 | No | No | No |
| Signing material | Your ASC key, ephemeral keychain, no p12 stored | p12 stored, encrypted | Credentials held in KMS | Your 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.