Ho scritto un servizio di automazione che esegue un piccolo script per impostare il volume e riprodurre un suono.
Per attivare il servizio, l'ho copiato in /Library/Services
e ho fatto un chmod +x
.
Per registrare una scorciatoia da tastiera per il servizio, ho eseguito defaults write -g NSUserKeyEquivalents '{"HelloWorld" = "$@~1";}'
dove HelloWorld
è il nome del servizio come visualizzato nel menu Servizi e $@~1
my scorciatoia (che si risolve in ⌘ + ⌥ + ⇧ + 1)
Dopo un riavvio posso vedere il servizio nel menu con il collegamento accanto ad esso. Quando premo la combinazione di tasti desiderata, appare un avviso che mi informa che lo script ha riscontrato un errore. Appare anche un errore nel registro:
Detected missing constraints for . It cannot be placed because there are not enough constraints to fully define the size and origin. Add the missing constraints, or set translatesAutoresizingMaskIntoConstraints=YES and constraints will be generated for you. If this view is laid out manually on macOS 10.12 and later, you may choose to not call [super layout] from your override. Set a breakpoint on DETECTED_MISSING_CONSTRAINTS to debug. This error will only be logged once.
Questo suggerisce un errore con una vista che non è inizializzata correttamente, ma non sto usando nessuna vista.
Ecco il contenuto del flusso di lavoro di Automator:
on run
if (get output volume of (get volume settings)) < 50 then
set volume output volume 50
end if
do shell script "afplay /Library/Application\ Support/HelloWorld/hello.mp3"
return
end run