Topics
- macos
- swift
- spm
- packaging
- code-signing
- notarization
- app-bundle
- sparkle
What it does
Scaffolds, builds, and packages SwiftPM-based macOS apps without Xcode, including bundle assembly, code signing, notarization, and Sparkle appcast generation. Targets developers who want to manage macOS app distribution via shell scripts and SwiftPM instead of an Xcode project.
Generated from the current SKILL.md.
Frequently asked
Does this skill work with Xcode projects?
No. This skill is designed for SwiftPM-based macOS apps built without an Xcode project file. It provides templates and scripts for bootstrapping, building, and packaging from the command line.
How do I notarize and distribute the app?
Use the included `sign-and-notarize.sh` script to notarize with Apple, staple the ticket, and zip the app. Then create a GitHub release and optionally generate a Sparkle appcast with `make_appcast.sh` for automatic updates.
What if notarization fails with 'Invalid Code Signing Entitlements'?
Audit the `.entitlements` file to remove unsupported keys and ensure they match Apple's allowed set. The skill includes a troubleshooting table with recovery steps for common notarization failures.
Can I use this for menu bar apps?
Yes. Set `MENU_BAR_APP=1` when running the packaging script to emit the `LSUIElement` key in Info.plist.
Do I need Xcode installed to use this skill?
No, except for the optional `build_icon.sh` template, which requires Xcode to generate .icns files from an Icon Composer file.
Generated from the current SKILL.md. These answers refresh after source changes.