Ho scoperto un bug molto strano con Servizi.
Per verificare questo comportamento, eseguire le seguenti operazioni:
-
Assicurati che Safari si trovi nel Dock.
-
Apri Automator. Crea un nuovo servizio.
-
Imposta il servizio per ricevere "nessun input" in "nessuna applicazione".
-
Inserisci un'azione "Esegui AppleScript".
-
Incolla quanto segue nell'azione:
on run {input, parameters} delay 5 display dialog "Hello" tell application "Safari" to activate return input end run
-
Salva il servizio.
-
Chiudi il servizio.
-
Riapri il servizio.
-
Automator dovrebbe presentarti una finestra di dialogo che chiede, "Vuoi installare il servizio" ServiceName "?" Fai clic su "Installa".
-
Quando viene visualizzata la finestra di dialogo "Installazione completata", fai clic su "Fine".
Ora, esegui il servizio. Per fare ciò, fare clic sul titolo dell'applicazione corrente nell'angolo in alto a sinistra dello schermo (il secondo elemento nella barra dei menu). Quindi fai clic sul titolo del servizio.
Noterai che Safari si aprirà immediatamente (evidenziato dal punto nero sotto il suo logo nel Dock). Safari aprirà prima del ritardo di 5 secondi e prima che venga visualizzata la finestra di dialogo "Ciao".
L'inserimento dell'istruzione activate
in una subroutine non risolve il problema.
Qualcuno può confermare che si tratta di un bug? Sono convinto che si tratti di un bug della funzione Servizi perché quando si esegue il servizio da Automator (facendo clic sul pulsante "Riproduci" nell'angolo in alto a destra della finestra di Automator), il codice viene eseguito correttamente.
Se si tratta di un bug, qualcuno ha una soluzione alternativa in modo che l'applicazione non venga effettivamente aperta prima dell'esecuzione del codice precedente?
Il mio Macbook Pro esegue OS X El Capitan, 10.11.6.
Il bug potrebbe essere correlato a un altro comportamento strano che ho notato:
-
Esci da Safari.app e Automator.app, se sono in esecuzione.
-
Apri la cartella in cui sono memorizzati i Servizi del computer (/ Utenti / Me / Libreria / Servizi /) nel Finder.
-
Fai clic con il pulsante destro del mouse sul file del servizio e apri il file con Automator.
Noterai che l'apertura del file .workflow con Automator attiverà Safari. Non dovrebbe farlo.