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