Lesedauer 3 Minuten

Das folgende Skript automatisiert den Codesign-Prozess für Flet unter macOS. Es signiert den Output von flet build und schliesst damit eine Lücke im inzwischen stark verbesserten Build-Prozess von Flet.

Vorab: Warum du “flet build” statt “flet pack” verwenden solltest

Flet bietet 2 Wege, um deine App zu verpacken: flet pack und flet build. Die Unterschiede sind grundlegend und wichtig zu verstehen.

flet pack ist das ältere Tool und wird schrittweise durch flet build ersetzt. Es ist einfacher, aber weniger flexibel. flet pack hat begrenzte Konfigurationsoptionen und weniger Kontrolle über die finalen Dateien. Einziger Vorteil: flet pack kann macOS Apps signieren.

flet build ist der moderne Successor  mit deutlich mehr Optionen. Es ermöglicht es dir,  spezifische Parameter zu setzen und den gesamten Prozess granular zu steuern. Das Ergebnis sind schlankere und performantere Apps.  Es bietet bessere Fehlerausgaben und aussagekräftige Logs. Wenn etwas fehlschlägt, weißt du sofort, wo das Problem liegt.

Der Output von flet build kann mit meinem Skript signiert werden.  Somit hast Du ab sofort die Möglichkeit das bessere Tool für deinen Workflow unter macOS zu verwenden.

macOS: Flet Desktop-Apps signieren

Ein Flet Desktop App Bundle besteht aus mehreren Frameworks, Shared Libraries und Binaries, was das Signieren unter macOS relativ komplex macht.

Um eine valide Signatur zu erhalten, müssen alle relevanten Dateien im Flet App-Bundle in der Verzeichnis-Hierachie von “unten nach oben” signiert werden. Einige Libs benötigen zudem noch spezielle System-Berechtigungen (Entitlements), da Apple sonst die Notarisierung verweigert:

macOS: Sign Flet Desktop Apps

Den kompletten macOS Sign-Prozess das erledigt das Codesign Script automatisch:

Ein typischer Workflow sieht dann wie folgt aus:

Bleib immer auf dem neuesten Stand

Die neueste Version findest Du immer in meinem GitHub Repo:

GitHub: Codesign Flet Desktop Apps under macOS

Auch das anschliessende Notarisieren kannst Du bequem per Skript automatisieren:

macOS Apps per Skript notarisieren.

Hat Dir der Beitrag gefallen?

Wenn Du Fragen oder Anmerkungen zu diesem Beitrag hast, dann starte einen Kommentar. DANKE für Dein Feedback!