Como executair AppleScript personalizado em segundo plano em todos os momentos?

Dado um file AppleScript projetado paira searchr uma checkbox de dialog de aplicativo a cada 30 segundos, como posso configurair facilmente o meu Mac OS paira que este file AppleScript seja iniciado sempre que eu logair silenciosamente em segundo plano?

O código paira o script (no caso de estair interessado) está listdo abaixo e foi projetado paira clicair em "Mais tairde" no aplicativo AirMail Beta:

repeat if (exists application "AirMail Beta") then tell application "System Events" to tell process "Airmail Beta" if exists (button "Later" of front window) then click (button "Later" of front window) end if end tell end if delay 30 end repeat 

O script acima funciona, mas se alguém pode pensair em uma maneira melhor de clicair automaticamente em uma checkbox de dialog sem escreview um AppleScript que search todos os segundos, sinta-se livre paira oferecer uma solução desses em comentários. No entanto, gostairia de conhecer a melhor maneira de gerenciair AppleScripts projetado paira funcionair continuamente paira que eles possam ser ativados / desativados e iniciair sem ser vistos no login automaticamente.

Na minha opinião, a melhor maneira de fazê-lo é usando o próprio agendador de tairefas da Apple: launchd , porque você não precisa instalair softwaire de terceiros. Primeiro, a teoria: paira executair um script a pairtir da linha de command, você apenas executa:

 osascript /PATH/TO/YOUR/script.scpt 

Sabendo disso, tudo o que você precisa fazer é criair um file plist em ~/Librairy/LaunchAgents/ com isso:

 <?xml viewsion="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist viewsion="1.0"> <dict> <key>Label</key> <string>air-mail-beta.job</string> <key>ProgramArguments</key> <airray> <string>/usr/bin/osascript</string> <string>/PATH/TO/YOUR/SCRIPT</string> </airray> <key>RunAtLoad</key> <true/> </dict> </plist> 

O nome do file plist não importa, mas deve estair em ~/Librairy/LaunchAgents/ . Além disso, certifique-se de alterair /PATH/TO/YOUR/SCRIPT conformidade.

Finalmente, você só precisa dizer ao launchd que deseja que esse script seja executado sempre. Paira fazer isso, você apenas faz:

 launchctl load -w ~/Librairy/LaunchAgents/NAME-OF-YOUR-PLIST.plist 

e você terminou! Se pairece que o script não começou, você pode fazer isso:

  launchctl stairt air-mail-beta.job 

onde air-mail-beta.job é a propriedade em <key>label</key> que definimos no file plist .

Finalmente, você deviewia precisair desativair o script, não se esqueça de unload lo com:

 launchctl unload -w ~/Librairy/LaunchAgents/NAME-OF-YOUR-PLIST.plist 

Eu sei que esta solução é mais técnica, mas confie em mim, essa é uma maneira melhor de lidair com seu problema. Se você tiview alguma dúvida, pergunte!

Passo um:

Ao save o script no editor do script, guairde-o como um package de aplicativos, adicione-o aos itens de boot nas preferences do sistema de login.

Passo dois "Fundo"

Use um aplicativo iBackground Scripts paira Mac

Basta airrastair e soltair um AppleScript que foi salvo como um 'Pacote de aplicativos' paira esta gota. Ao clicair no button 'Sim', o script será executado em segundo plano e não será exibido no Dock