macbuild

Build a macOS app on Windows

Repo to notarized DMG — xcodebuild, Developer ID, notarytool, all on real Macs.

Route
1 xcodebuild archive
2 Developer ID export
3 hdiutil DMG

A macOS app is more than a cross-compile: it needs Xcode to archive, a Developer ID certificate to sign, Apple's notary service to bless, and a DMG to distribute. Every one of those steps refuses to run on Windows.

macbuild runs the whole desktop pipeline: push your repo, and Apple hardware archives it against a Mac destination, exports with your Developer ID (created via your App Store Connect key — no p12s), notarizes, staples, and wraps it in a DMG. One build credit, same as iOS.

From git push to TestFlight.

  1. Connect your repo

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

    git push origin main
  2. macbuild 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. macbuild 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 do I target macOS instead of iOS?

Pick 'macOS · notarized DMG' on the build form, or put 'target: macos' in your repo's build.yaml — the webhook path respects it too.

Which projects are supported?

Bare Xcode/Swift projects and Flutter desktop (macos/Runner.xcworkspace). React Native macOS isn't supported yet.

Does it upload to the App Store?

No — desktop builds distribute as a notarized DMG (Developer ID). A Mac App Store variant is on the roadmap behind a flag.

Build a macOS app on Windows — starting today.

Trusted beta — free builds while we harden the service.

Join the beta