on Airdrop Download trigger

This commit is contained in:
Gabriel Radureau
2025-10-09 23:46:41 +02:00
commit bfb0c4cb18
10 changed files with 204 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
# On Airdrop Download
## 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.
![automator HelloWorldTemplate.app](./01.createEchoHelloWorldTemplateApp.png)
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"
```