Il seguente codice AppleScript fa clic sull'icona Wi-Fi trovata nella barra dei menu (origine) :
tell application "System Events" to tell process "SystemUIServer" to tell (menu bar item 1 of menu bar 1) to click
Completa i passaggi seguenti per riprodurre il bug:
-
In Automator.app, fai clic su File → Nuovo → Servizio .
-
Trascina un'azione Esegui AppleScript nel flusso di lavoro.
-
Incolla la riga di codice sopra nel corpo AppleScript.
-
Salva e titola il servizio .
-
Esegui il servizio .
L'icona WiFi non viene mai cliccata e invece viene presentato il seguente messaggio di errore (dolorosamente ambiguo):
Osservazioni su questo bug:
-
Il codice funziona correttamente quando compilato e testato in Script Editor o Automator.
-
Il servizio funziona correttamente quando il servizio viene attivato da Automator (cioè, quando l'applicazione in primo piano è Automator).
-
Il bug persiste indipendentemente dall'icona della barra dei menu specificata.
-
L'aggiunta di privilegi di amministratore non risolve il problema:
do shell script "osascript -e 'tell application \"System Events\" to tell process \"SystemUIServer\" to tell (menu bar item 1 of menu bar 1) to click'" password "thePassword" with administrator privileges
Sai cosa potrebbe causare questo conflitto?
Esiste una soluzione alternativa, in modo che un'icona a forma di barra dei menu possa effettivamente essere selezionata da un servizio di AppleScript?
OS X El Capitan, versione 10.11.6.