nomac

React Native IPA without a Mac

npm install where you like. xcodebuild where it must run.

Route
1 package.json
2 pod install
3 TestFlight

React Native development works beautifully on Windows and Linux — until iOS release time. Then you need macOS for pod install, xcodebuild, and signing.

nomac runs your RN iOS pipeline on real Apple hardware: JS bundle install, pod install, archive, signing with your App Store Connect key, and TestFlight upload — with live logs the whole way.

From git push to TestFlight.

  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

What you get

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.

Questions

Expo already does this — why nomac?

If you're all-in on Expo, EAS is great. nomac is for React Native apps with bare ios/ directories: we build your actual xcworkspace, no ejecting or config plugins required.

How do CocoaPods dependencies work?

nomac runs pod install on the build machine with per-project cache. Your node_modules are keyed by project hash so rebuilds skip cold installs.

Can nomac build from a monorepo?

If the repo root (or build.yaml override) points at the workspace, yes. Detection looks for package.json plus an ios/ workspace.

React Native IPA without a Mac — starting today.

Trusted beta — free builds while we harden the service.

Join the beta