Não é possível consultar o iCloud Drive no launchd plist

Não é possível consultar o iCloud Drive no launchd plist

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>

informação relacionada