The Notarization API changed a bit, so my old scripts broke. Revisiting the approach, it’s delightfully simple to notarize an app nowadays if you use the Apple toolchain on macOS. I haven’t watched the WWDC 2022 video on Notarization but did take the documentation link there into account.
In the past months, I deployed a couple of app updates. Not as many as planned, but still. My app downloads are compressed DMG files, or disk images. With these, you don’t need a Zip. DMGs usually come with the app bundle and an alias to /Application so you can “install” an app quickly via drag & drop. This is probably the most successful and easiest way to ship downloads that work with macOS App Translocation. If users run an unzipped app bundle from their downloads folder, they’re screwed.
Over the years, I tried a couple of approaches, and I found that I had the most success with DropDMG. The visual preview is very accurate, and I never had any problem with the resulting DMG files. It beats fiddling with the command line every day.
DropDMG is an essential tool in my workflow to ship applications. It costs US$24 at the moment, and it’s worth the money if you do indie app development to make money.
Oskar Groth published a modern iteration of the “LetsMove” framework where you can show a dialog at app launch, asking the user if she wants to move the app to /Applications first.
This is still a crucial feature if you distribute downloads that unpack into the ~/Downloads folder: Gatekeeper’s App Translocation will actually start it from a random sandboxed folder. To prevent this from happening, distribute your apps as a DMG with a shortcut to /Applications to nudge your users to move the app there directly.