Comecei a manter meus AppleScripts na pasta iCloud Drive do Script Editor, pois muitas vezes gosto de reutilizar ou revisar scripts em vários dispositivos. Geralmente eu adoro o iCloud Drive. No entanto, me deparei com um cenário incomum: não consigo usar esse caminho com êxito na seção ProgramArguments do meu launchd plist.
Normalmente, o caminho assume a forma
~/Library/Mobile\ Documents/com\~apple\~ScriptEditor2/Documents/MyScript.scpt
Mas posso ver pelos logs que esse caminho fica bem e totalmente mutilado quando o launchd tenta executá-lo e, claro, o resultado é "Esse arquivo ou diretório não existe". O que estou vendo é que o segundo e o terceiro til são substituídos dinamicamente pelo caminho para a pasta pessoal do usuário - algo a que apenas o primeiro til se refere tecnicamente. Tentei várias maneiras de escapar, mas sem sucesso.
Alguma idéia de como contornar esse problema?
Responder1
Você pode deixar o globbing para um shell real:
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>-c</string>
<string>programToRun --arg1 --arg2 ~/relative\~path\~here</string>
</array>