Create, sign, notarize, staple, verify and Distribute a DMG

In this tutorial, I use the JSON Formatter app created in the previous video, but you can follow the same process with your own macOS application. We’ll archive and export the app from Xcode 27, verify its signature, create a customized DMG installer, and add a background image with an Applications folder shortcut.

You’ll then learn how to configure your Terminal session, create and store notarization credentials in Keychain, locate the correct Developer ID Application certificate, and sign, notarize, staple, and validate the finished DMG.

Finally, we’ll publish the DMG as a GitHub release and add a permanent download link to the repository’s README that always points to the latest version.

By the end of the video, you’ll have a polished, signed, notarized, and Gatekeeper-approved DMG that users can safely download and install without using the Mac App Store.

Topics covered:

• Archiving and exporting a macOS app from Xcode 27
• Direct distribution outside the Mac App Store
• Creating a customized DMG installer
• Adding a background image and Applications shortcut
• Verifying code-signing and Gatekeeper status
• Creating an app-specific password
• Saving notarization credentials in Keychain
• Signing a DMG with a Developer ID certificate
• Notarizing and stapling a DMG
• Publishing a macOS app through GitHub Releases
• Creating a permanent latest-release download link

In partnership with
Fastlane alternative – CLI tools

Are you tired of Ruby and Fastlane installation issues? There's got to be a better way! Discover Codemagic open source CLI tools. It is not a drop-in replacement for all of what Fastlane does (screenshots for example), but we use it at Codemagic to build and publish iOS and Android apps, also versioning and device provisioning.

View on GitHub
© 2026 Mobile Signal. All rights reserved.
Made by
Stan
linkedin