Choose a distribution path
Choose source, App Store, or direct distribution
Select a distribution path from the audience, capabilities, budget, and installation experience instead of treating every Mac app alike.
12 minute lesson
You built a macOS app. Now you want it on other people’s Macs. There are three realistic paths, and the right one depends on your audience, your budget, and how much installation friction you can accept.
Source-first distribution is the free path. You publish the source code, the Xcode version you tested with, and one command that produces a working build. Technical users clone the repository and build the app themselves. No paid Apple Developer Program membership, no certificates, no review queue.
git clone https://github.com/flaviocopes/notes
cd notes
xcodebuild -scheme Notes -configuration Release build
If your users are developers, this is often all you need. A lot of open source Mac software starts exactly like this.
The Mac App Store gives you Apple-hosted downloads, payments, and automatic updates. In exchange you accept App Review, the App Sandbox requirement, and Apple’s commission. It fits consumer apps where discovery matters more than control.
Direct distribution means users download a ZIP or DMG from your own site. You control pricing, release timing, and updates. The smooth version of this path needs a paid Apple Developer Program membership (99 USD per year), a Developer ID Application certificate, and notarization. With those in place, users double-click your app and it opens. Without them, macOS blocks the first launch.
There is a fourth option for early testing: an unsigned prebuilt app. It works, but be honest about it. Label the download as unsigned and not notarized, publish its SHA-256 checksum, and document Apple’s per-app override: System Settings → Privacy & Security → Open Anyway.
What you must never do is tell users to disable Gatekeeper globally or strip quarantine attributes from downloads. That advice weakens their entire Mac to route around your missing signature. If installation friction starts hurting you, that’s your signal to pay for the membership and notarize.
My advice: start source-first, and add Developer ID signing the moment non-developers want your app.
Lesson completed