macos-spm-app-packaging
macOS SwiftPM App Packaging (No Xcode)
Overview
Bootstrap a complete SwiftPM macOS app folder, then build, package, and run it without Xcode. Use assets/templates/bootstrap/ for the starter layout and references/packaging.md + references/release.md for packaging and release details.
When to Use
- When the user needs a SwiftPM-based macOS app without relying on an Xcode project.
- When you need packaging, signing, notarization, or appcast guidance for a SwiftPM app.
Two-Step Workflow
The templates mutate build folders, launch/terminate apps, access the keychain and may upload signed archives to Apple; release/tag publication is separate authorization. Scripts are tracked as regular non-executable templates: inspect/copy only to an approved new project and set executable bits there. Pin the required Swift/Xcode tools; “without Xcode projects” does not mean every optional tool works without Xcode. Universal main binaries do not prove embedded frameworks contain both architectures; verify all code/resources and entitlements. A process being alive is not a functional app test. Never use broad process-name matching against unrelated applications.
AAS review 2026-10-23: script and example corrections are local adaptations; original source attribution is retained.
- Bootstrap the project folder
- Copy
assets/templates/bootstrap/into a new repo. - Rename
MyAppinPackage.swift,Sources/MyApp/, andversion.env. - Customize
APP_NAME,BUNDLE_ID, and versions.
- Copy