Créer une application Mac OS à partir d'un script Shell
Présentation d'Appify, un utilitaire pour transformer vos scripts Shell en application Mac OS. Libre à vous d'utiliser Spotlight pour les lancer.
Structure minimale d'une application Mac
Une application Mac OS est un dossier contenant un dossier Contents
et un sous-dossier MacOS
dedans. Dans le dossier MacOS
vous trouverez un fichier sans extension ayant le même nom que l'application. Ce fichier c'est notre script Shell.
Contenu d'une application Mac OS:
Appify
Développé par Thomas Aylott, le script Appify automatise la création d'arborescence et gère les droits d'exécution. Voilà à quoi ressemble le script dans sa version épurée :
#!/usr/bin/env bash
APPNAME=${2:-$(basename "${1}" '.sh')};
DIR="${APPNAME}.app/Contents/MacOS";
if [ -a "${APPNAME}.app" ]; then
echo "${PWD}/${APPNAME}.app already exists :(";
exit 1;
fi;
mkdir -p "${DIR}";
cp "${1}" "${DIR}/${APPNAME}";
chmod +x "${DIR}/${APPNAME}";
echo "${PWD}/$APPNAME.app";
Installer Appify
Pour installer et utiliser Appify, il vous suffit de savoir utiliser un terminal UNIX.
Récupérer le script Appify
Copiez le code dans un fichier nommé "appify" (sans extension) et placez le fichier dans un des dossiers de votre PATH
. J'ai choisi le dossier /usr/local/bin
.
Cette opération nécessite les droits administrateurs.
Donner les droits d'exécution à ce fichier
Lancez un terminal et tapez la commande : chmod +x /usr/local/bin/appify
Utiliser Appify
Lancez un terminal et taper la commande suivante :
$ appify mon-script-shell.sh "Mon App Mac OS"
Félicitation, vous venez de créer votre première application Mac OS !
Customiser son application
Ajouter une icône personnalisée
-
Créez un fichier
.icns
ou.png
de 512×512 pixels avec l'icône souhaitée et copiez l'image dans le presse papier (⌘ + C). -
Faites un clic droit sur l'application et sélectionnez : "Lire les informations".
-
Selectionnez l'icône de l'application en haut à gauche en cliquant dessus. Une fois l'icône en surbrillance bleu, collez votre icône (⌘ + V).
Votre application a désormais sa propre icône personnalisée !