In my previous post about how I use OmniFocus, I made reference to an on-hold project template called “New App Release”. Anytime I release an update to one of my Mac apps, I follow this checklist. In case it’s useful to other developers, here’s what it contains…
- Verify build with Deploymate – this scans my Xcode project and compares all of my API calls against my build target warning me about any deprecated, missing, or private API calls.
- Increment version number in
Info.plist
. - Tag the release in git.
- Publish the git tag.
- Archive the project in Xcode and export a [Developer ID].(https://developer.apple.com/developer-id/) signed build to the Desktop.
- Verify Gatekeeper and code signing is correct by running
spctl -a -v App.app
. - Zip the exported app binary.
- Write release notes and upload the new build’s zip file to your hosting provider of choice.
- Do whatever you need to do to make a new release happen in Sparkle.
- Do a test update in the old version of the app.
- Do a test download of the new version from your website.
- Upload the dSYM file generated by Xcode’s Archive step to Hockey or whatever crash symbolication service you use.
Thanks to Tony Arnold for prompting me to post this checklist.