After more than a decade of supporting mass deployments of macOS, I’ve personally seen my fair share of software packages for macOS, and far too many of them that have been downright garbage to manage at scale.
In an attempt to help software developers, small and large, become better informed about software packaging and distribution best (or at least better) practices, I’ve written what I’m calling the Proper Packaging Principles.
The goal is for these recommendations to be a living document that will incorporate feedback from the MacAdmins community, as well as feedback from the software developers who may read them. Eventually I hope that this git repo will also contain examples and sample projects of various types and sizes of software projects.
I appreciate any feedback you may have. I’ll be attempting to use the discussions and issues features on the GitHub repo to track feedback. Pull requests are also highly encouraged.
References and Resources
These are all part of the Proper Packaging Principles, but I’m posting some of them here for proper recognition (and frankly, some SEO purposes).
Apple Developer References
- Creating Distribution-Signed Code for Mac
- Packaging Mac Software for Distribution
- Signing a Mac Product For Distribution
- Placing Content in a Bundle
- Updating Mac Software
- Signing a daemon with a restricted entitlement
- Embedding a command-line tool in a sandboxed app
- Embedding nonstandard code structures in a bundle
- Distribution XML Reference
Leave a Reply