How to build a .dmg to distribute MacOS apps
To release a MacOS app through the Mac App Store, there is an integrated wizard in Xcode. Distributing your MacOS app outside the Mac App Store is less documented.
Open your project in Xcode. Do
Product > Archive. This brings up the project organizer with a list of archives. So far, this is the same as releasing through the Mac App Store. But instead of clicking “Upload to App Store …”, click “Export…”. Then select “Export a Developer ID-signed Application”. (You want your package to be signed with your Developer ID when distributing outside the App Store; MacOS’s “gatekeeper” policy can disallow unsigned applications.) Allow
codesign access to your keychain. Select a location to export to.
This gives you a
.app, such as
Vidrio.app. Next, you need to package this as a
.dmg (disk image). You can do this manually using Disk Image, or programmatically using node-appdmg.
More by Jim
- Project C-43: the lost origins of asymmetric crypto
- How Hacker News stays interesting
- My parents are Flat-Earthers
- The dots do matter: how to scam a Gmail user
- The sorry state of OpenSSL usability
- I hate telephones
- The Three Ts of Time, Thought and Typing: measuring cost on the web
- Granddad died today
- Your syntax highlighter is wrong
I wrote this because I want to release Vidrio 1.2 as a .dmg, bypassing the Mac App Store. This post is not associated with my employer. Found an error? Edit this page.