nomac

Build iOS apps on Linux

Linux is your dev box. Apple hardware is the build farm you rent by the minute.

Route
1 Flutter
2 React Native
3 Bare Xcode

You can do almost anything on Linux — except run Xcode. That single gap forces Flutter and React Native devs into Mac ownership or awkward CI workarounds for every iOS release.

nomac gives your Linux workflow real Apple build machines: push to GitHub, watch live logs, get a signed IPA in TestFlight. Your signing key stays yours; nomac never stores p12s.

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

How does building iOS from Linux work?

Push to GitHub from Linux; nomac's Macs run the Xcode build, sign with your App Store Connect key, and upload to TestFlight. You watch everything from the browser.

Is this different from a CI like GitHub Actions with macOS runners?

You don't configure workflows, maintain runner minutes, or manage signing files. nomac auto-detects your project and handles signing keys with ephemeral keychains.

Which distros/tools does this replace?

It replaces the 'borrow a Mac' step, not your toolchain. VS Code, Android builds, and everything else stay exactly where they are.

Build iOS apps on Linux — starting today.

Trusted beta — free builds while we harden the service.

Join the beta