macos-spm-app-packaging
macOS-Apps mit Swift Package Manager verpacken
Erstellen und verteilen Sie macOS-Anwendungen ohne Xcode. Dieses Skill erstellt SwiftPM-Projekte, erzeugt .app-Bundles, übernimmt Code-Signierung und verwaltet die Apple-Notarisierung für die Verteilung außerhalb des Apple-Ökosystems.
スキルZIPをダウンロード
Claudeでアップロード
設定 → 機能 → スキル → スキルをアップロードへ移動
オンにして利用開始
テストする
「macos-spm-app-packaging」を使用しています。 Bootstrap a new SwiftPM macOS app called ImageConverter with bundle ID com.example.imageconverter
期待される結果:
- Package.swift mit SwiftPM-Konfiguration erstellt
- Sources/ImageConverter/main.swift generiert
- version.env mit MARKETING_VERSION=0.1.0 und BUILD_NUMBER=1 erstellt
- Bereit zur Anpassung - führen Sie swift build zum Kompilieren aus
「macos-spm-app-packaging」を使用しています。 Package my SwiftPM app for release with notarization
期待される結果:
- Swift-Build für arm64 und x86_64 abgeschlossen
- ImageConverter.app-Bundle mit Info.plist und Ressourcen erstellt
- Code-Signierung mit Developer ID-Zertifikat durchgeführt
- An Apple-Notarisierungsdienst übermittelt
- Genehmigungsticket angeheftet
- ImageConverter-0.1.0.zip für Verteilung erstellt
セキュリティ監査
低リスクThis is a legitimate macOS development tool for packaging Swift Package Manager apps. All static findings are FALSE POSITIVES - the 'suspicious' patterns (shell command execution, credential access, network calls) are standard macOS development workflows for building, signing, and notarizing apps. The static scanner misidentified standard build automation scripts as malicious.
リスク要因
📁 ファイルシステムへのアクセス (2)
品質スコア
作れるもの
Apps ohne Xcode ausliefern
Erstellen und verteilen Sie einfache macOS-Dienstprogramme nur mit Swift und der Befehlszeile.
Release-Builds automatisieren
Integrieren Sie macOS-App-Verpackung in automatisierte Build-Pipelines mit ordnungsgemäßer Signierung und Notarisierung.
Demo-Anwendungen erstellen
Verpacken Sie Beispiel-Apps, die Bibliotheksfunktionalität demonstrieren, ohne die Komplexität von Xcode-Projekten.
これらのプロンプトを試す
Use the macos-spm-app-packaging skill to bootstrap a new Swift Package Manager macOS application called 'MyUtility'. Set the bundle ID to com.example.myutility and minimum macOS version to 14.0.
Use macos-spm-app-packaging to build a release .app bundle for my SwiftPM project. Use ad-hoc signing for testing. Create universal binaries for arm64 and x86_64.
Use macos-spm-app-packaging to configure Apple notarization for my app. The App Store Connect API key is in APP_STORE_CONNECT_API_KEY_P8, APP_STORE_CONNECT_KEY_ID, and APP_STORE_CONNECT_ISSUER_ID environment variables.
Use macos-spm-app-packaging to create a Sparkle appcast for my packaged app. The Sparkle private key is in SPARKLE_PRIVATE_KEY_FILE environment variable.
ベストプラクティス
- Verwenden Sie eindeutige Bundle-Identifikatoren und erhöhen Sie BUILD_NUMBER für jedes Sparkle-Update-Release
- Speichern Sie App Store Connect API-Schlüssel als Umgebungsvariablen, niemals im Quellcode
- Testen Sie mit Ad-hoc-Signierung, bevor Sie Code-Signierung und Notarisierung für die Produktion versuchen
回避
- Überspringen Sie nicht die Notarisierung - Apple-Notarisierung ist für Gatekeeper-Genehmigung ab macOS 10.15+ erforderlich
- Codieren Sie Signierungszertifikate oder API-Schlüssel nicht fest in Skripten, die in die Versionskontrolle übernommen werden
- Vergessen Sie nicht, LSUIElement für Menüleisten-Apps zu setzen - sie werden sonst nicht im Dock angezeigt