macos-spm-app-packaging
Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project. Use when you need a from-scratch macOS app layout, SwiftPM targets/resources, a custom .app bundle assembly script, or signing/notarization/appcast steps outside Xcode.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Scaffold, build, and package SwiftPM-based macOS apps without an Xcode project. Use when you need a from-scratch macOS app layout, SwiftPM targets/resources, a custom .app bundle assembly script, or signing/notarization/appcast steps outside Xcode.
How to use
Skopiuj szablon startowy z folderu assets/templates/bootstrap/ do nowego katalogu projektu. Zmień nazwę MyApp na nazwę Twojej aplikacji w pliku Package.swift, folderze Sources/MyApp/ i pliku version.env. Dostosuj APP_NAME, BUNDLE_ID i numery wersji do swoich potrzeb.
Skopiuj skrypty pakowania z assets/templates/ do folderu Scripts/ w Twoim projekcie. Upewnij się, że skrypty mają uprawnienia do wykonania, uruchamiając chmod +x Scripts/*.sh.
Zbuduj aplikację poleceniem swift build, a następnie uruchom ją za pomocą Scripts/compile_and_run.sh. Ten skrypt automatycznie kompiluje kod i uruchamia spakowaną aplikację .app.
Jeśli chcesz dystrybuować aplikację, użyj Scripts/package_app.sh do utworzenia finalnego pakietu. Sprawdź strukturę bundle'a .app, aby upewnić się, że wszystkie zasoby są na miejscu.
Dla wydania publicznego uruchom Scripts/sign-and-notarize.sh w celu podpisania i notaryzacji aplikacji przez Apple. Następnie użyj Scripts/make_appcast.sh do wygenerowania pliku Sparkle appcast dla aktualizacji.
Utwórz tag git, wgraj plik zip i appcast do wydania GitHub, a następnie opublikuj. Umiejętność zawiera referencje w references/packaging.md i references/release.md z pełnymi szczegółami każdego kroku.