スキル macos-spm-app-packaging
📦

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.

対応: Claude Codex Code(CC)
🥉 73 ブロンズ
1

スキルZIPをダウンロード

2

Claudeでアップロード

設定 → 機能 → スキル → スキルをアップロードへ移動

3

オンにして利用開始

テストする

「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

セキュリティ監査

低リスク
v5 • 1/17/2026

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.

16
スキャンされたファイル
1,118
解析された行数
4
検出結果
5
総監査数
監査者: claude 監査履歴を表示 →

品質スコア

59
アーキテクチャ
100
保守性
87
コンテンツ
21
コミュニティ
90
セキュリティ
91
仕様準拠

作れるもの

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.

これらのプロンプトを試す

Neues SwiftPM-App-Projekt
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.
Bestehendes Projekt verpacken
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.
Notarisierung konfigurieren
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.
Update-System erstellen
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

よくある質問

Welche Tools erfordert dieses Skill?
Ein macOS-System mit installiertem Swift. Xcode ist nicht erforderlich, aber Xcode-Befehlszeilentools werden für iconutil empfohlen.
Wie verteile ich meine App?
Erstellen Sie das Release-.app-Bundle, signieren Sie es, lassen Sie es von Apple notarisieren, heften Sie das Ticket an und verteilen Sie dann die ZIP-Datei oder verwenden Sie Sparkle für Updates.
Benötige ich eine Apple Developer-Mitgliedschaft?
Nicht für Entwicklungs-Builds mit Ad-hoc-Signierung. Release-Verteilung erfordert ein kostenpflichtiges Apple Developer-Konto für Code-Signierung und Notarisierung.
Kann ich dies für App Store-Einreichungen verwenden?
Dieses Skill konzentriert sich auf direkte Verteilung. Verwenden Sie für App Store-Einreichungen Xcode oder altool mit dem entsprechenden App Store Connect API-Schlüssel.
Wie gehe ich mit Versionsnummern um?
Setzen Sie MARKETING_VERSION und BUILD_NUMBER in version.env. MARKETING_VERSION ist die für Benutzer sichtbare Version (z. B. 1.0.0), während BUILD_NUMBER die Build-Kennung ist, die für jedes Sparkle-Update erhöht werden muss, um die Update-Aufforderung auf Client-Rechnern auszulösen.
Welche Berechtigungen kann ich hinzufügen?
Bearbeiten Sie die .entitlements-Datei in .build/entitlements. Gängige Berechtigungen umfassen com.apple.security.app-sandbox und com.apple.security.files.user-selected-read-only.

開発者の詳細

作成者

Dimillian

ライセンス

MIT

参照

main