DMGBuildNotarize is a simple Mac app that turns a signed .app bundle into a polished, signed, notarized .dmg file.
In plain terms: drop in your Mac app, choose where the DMG should go, click Build DMG, and let the app run the packaging and Apple notarization steps for you.
Shipping a Mac app outside the Mac App Store is more confusing than it looks.
Your app might run perfectly on your own computer, but another user can still see a scary macOS warning like "Apple cannot check it for malicious software." That usually means the app was not packaged, signed, notarized, or stapled correctly for public distribution.
Developers often have to remember a chain of command-line tools:
codesignto check and sign codehdiutilto create the DMG- Finder or AppleScript to make the DMG look right
notarytoolto send the file to Applestaplerto attach Apple's approval ticketspctlandhdiutil verifyto check the final result
Each tool is useful, but the full process is easy to get wrong.
DMGBuildNotarize puts that whole flow into one small desktop app.
It:
- checks that your
.appbundle looks valid - checks that the app is signed with a Developer ID Application certificate
- creates a standard DMG with your app and an Applications shortcut
- styles the DMG Finder window with a built-in background, larger icons, and a drag-to-Applications layout
- compresses the DMG
- signs the DMG
- submits the DMG to Apple for notarization
- staples the notarization ticket
- verifies the finished DMG
The goal is not to hide what is happening. The app shows each step and prints the command output, so you can still see what succeeded or failed.
When DMGBuildNotarize styles the Finder window, it automatically:
- opens the mounted DMG in Finder
- applies a custom background image with drag instructions
- sizes the window for a polished installer-style presentation
- positions the app and
Applicationsshortcut for a left-to-right drag flow - saves the icon view layout before the image is detached and compressed
This is for developers who distribute Mac apps directly from a website, GitHub release, email, or any place outside the Mac App Store.
It is not a replacement for building or signing your app. Your .app should already be built and signed for distribution before you drop it into DMGBuildNotarize.
You need:
- macOS 14 or newer
- Xcode or Apple's command-line developer tools
- an Apple Developer account
- a Developer ID Application certificate in your Keychain
- a
notarytoolKeychain profile
If you do not already have a notarytool profile, open Settings in DMGBuildNotarize and use Create or Validate Profile. The default profile name is DeveloperID.
First, make a distribution-signed copy of your app.
- Open your Mac app project in Xcode.
- Select your app target.
- In Signing & Capabilities, choose your Apple Developer team.
- Make sure Xcode can sign the app with a Developer ID Application certificate.
- Choose Product > Archive.
- When the archive appears in Organizer, choose Distribute App.
- Choose Direct Distribution.
- Xcode will upload the archive to Apple for notarization.
- After about a minute, move your pointer over the app archive in Organizer.
- Choose Export App when that option becomes available.
- Find the exported
.appbundle.
That exported .app is what you give to DMGBuildNotarize.
Now turn that signed app into the final public DMG.
- Open DMGBuildNotarize.
- Open Settings and choose your Developer ID Application signing identity.
- Create or validate your
notarytoolKeychain profile. - Drop your exported
.appbundle onto the main window. - Choose the DMG name and output folder.
- Click Build DMG.
- Wait for every step to turn green.
When it finishes, the output file is the DMG you can upload to your release page.
Clone the repo, open DMGBuildNotarize.xcodeproj in Xcode, and run the DMGBuildNotarize scheme.
To run the tests:
xcodebuild test -project DMGBuildNotarize.xcodeproj -scheme DMGBuildNotarizeNotarization still goes through Apple. That means the Apple account, certificate, app signature, and notarization profile all need to be valid.
DMGBuildNotarize helps by putting the steps in the right order and making failures easier to see.
DMGBuildNotarize is available under the MIT License. See LICENSE for details.