14 points par ironpark 2024-10-17 | Aucun commentaire pour le moment. | Partager sur WhatsApp

ZAPP

Simplifier la distribution d’applications macOS.

Pourquoi je l’ai créé

Dans mon cas, il m’arrive de compiler et de distribuer des apps macOS en dehors de l’Apple Store.

Dans ce cas, on passe par le processus suivant : intégration des dépendances binaires -> signature et notarisation du bundle d’application -> création du fichier dmg -> signature et notarisation.

Pour l’intégrer à un pipeline CI/CD, il faut installer divers outils et écrire des scripts. Comme le processus de distribution prend du temps et que les mêmes réglages doivent être répétés à chaque nouveau projet, c’était trop fastidieux ; j’ai donc créé cet outil, et je le présente ici maintenant qu’il a dépassé mon seuil minimal personnel :)

Qu’est-ce qui change ?

  • Installation simple : sans autre dépendance binaire ni runtime, il peut être installé rapidement sous forme de binaire unique via Homebrew, ce qui permet de l’intégrer facilement dans un processus CI.
  • Fonctions intégrées : création de fichiers DMG, création de fichiers pkg, signature et notarisation, etc. Les différentes fonctions nécessaires à la distribution sont réunies dans un seul outil.

Fonctionnalités principales

  • Création d’un fichier dmg d’installation en glisser-déposer avec une seule commande
  • Création d’un fichier d’installation pkg
  • Signature, notarisation et staple
  • Fonction de bundling des dépendances qui recherche les bibliothèques partagées utilisées par l’exécutable, les copie dans le bundle de l’app et modifie les chemins de lien afin qu’elle puisse être utilisée sans installation séparée de bibliothèques
Les détails sont expliqués plus précisément dans le README.  
N’hésitez pas à me dire s’il y a des points qui vous semblent manquer !  
  
Par ailleurs, les contributions de toutes sortes sont les bienvenues : correction de la documentation, refactorisation du code, propositions de fonctionnalités, bugs, etc.  

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.