59 lines
1.9 KiB
Markdown
59 lines
1.9 KiB
Markdown
# Surveillance des répertoires
|
|
|
|
## Déclencheur
|
|
|
|
(voir [registerApp.sh](../registerApp.sh))
|
|
|
|
1. Créer une application Automator manuellement et la dupliquer par script
|
|
1. Ouvre Automator (/Applications/Automator).
|
|
2. Crée un nouveau document de type Application.
|
|
3. Ajoute une action Exécuter un script shell et colle :
|
|
`echo hello world`
|
|
4. Enregistre l'application sous /Applications/HelloWorldTemplate.app.
|
|

|
|
2. Dupliquer l'application
|
|
```sh
|
|
#!/bin/bash
|
|
|
|
# Chemin de l'application template
|
|
TEMPLATE_APP="/Applications/HelloWorldTemplate.app"
|
|
# Chemin de la nouvelle application
|
|
NEW_APP="/Applications/HelloWorld.app"
|
|
|
|
# Supprime l'ancienne application si elle existe
|
|
rm -rf "$NEW_APP"
|
|
|
|
# Duplique l'application template
|
|
cp -R "$TEMPLATE_APP" "$NEW_APP"
|
|
|
|
# (Optionnel) Modifie le script shell dans l'application si nécessaire
|
|
# Par exemple, pour remplacer le chemin du script :
|
|
sed -i '' "s|echo hello world|/chemin/vers/ton/script.sh|g" "$NEW_APP/Contents/document.wflow"
|
|
```
|
|
|
|
3. Donner les permissions Full Disk Access
|
|
Après avoir dupliqué l'application, tu dois ajouter manuellement HelloWorld.app dans Préférences Système > Sécurité et confidentialité > Confidentialité > Accès complet au disque.
|
|
|
|
4. Mettre à jour le fichier .plist
|
|
Modifie ton fichier com.user.HelloWorld.plist pour qu'il lance la nouvelle application :
|
|
```xml
|
|
<key>ProgramArguments</key>
|
|
<array>
|
|
<string>open</string>
|
|
<string>/Applications/HelloWorld.app</string>
|
|
</array>
|
|
```
|
|
5. Recharger le service launchd
|
|
```sh
|
|
launchctl unload ~/Library/LaunchAgents/com.user.HelloWorld.plist
|
|
launchctl load ~/Library/LaunchAgents/com.user.HelloWorld.plist
|
|
launchctl start com.user.HelloWorld
|
|
```
|
|
|
|
### Changer l'icone de l'app (bonus)
|
|
|
|
```sh
|
|
sips -s format icns icone.jpeg --out /tmp/monIcone.icns
|
|
mv /tmp/monIcone.icns "$NEW_APP/Contents/Resources/ApplicationStub.icns"
|
|
```
|