El ejemplo código AppleScript, que se muestra a continuación, fue probado en Editor de script en macOS Big Sur con la configuración de Idioma y región en Preferencias del Sistema configurada en Inglés (EE. UU.) — Primario y me funcionó sin problemas1.
- 1 Se asume que se han configurado/atendido las configuraciones necesarias y adecuadas en <strong>Preferencias del Sistema</strong> > <strong>Seguridad y privacidad</strong> > <strong>Privacidad</strong> según sea necesario.
- Se asume que la casilla de verificación objetivo ha sido activada manualmente una vez antes para tratar con el diálogo de permisos que aparece la primera vez que se activa manualmente la casilla de verificación objetivo.
El ejemplo código AppleScript se puede usar en una Acción Ejecutar AppleScript en un Servicio/acción rápida de Automator que ha sido asignado un atajo de teclado en Preferencias del Sistema > Teclado > Atajos > Servicios, sin embargo, en mi experiencia es mejor utilizar alguna de las aplicaciones de terceros que son capaces de ejecutar código AppleScript y asignar un atajo de teclado global.
- Como ejemplo, uso FastScripts para algunas tareas, también Hammerspoon para otras tareas. (No estoy asociado con los desarrolladores de estos productos, solo soy un usuario satisfecho.)
Ejemplo código AppleScript:
-- # Comprueba si las Preferencias del Sistema están
-- # abiertas y en caso afirmativo, las cierra.
-- #
-- # Se hace esto para que el script no falle
-- # si está abierta y se muestra una hoja modal,
-- # de ahí el uso de 'killall'
-- # ya que 'quit' falla si se hace cuando se muestra una
-- # hoja modal.
-- #
-- # Esto también se hace para permitir que los comportamientos predeterminados
-- # sean predecibles desde una ocurrencia limpia.
si la aplicación "Preferencias del Sistema" está en ejecución entonces
intentar
decir a la aplicación "Preferencias del Sistema" que cerrar
en error
hacer guion de la carcasa "killall 'Preferencias del Sistema'"
fin intentar
retraso 0.1
fin if
-- # Asegurarse de que las Preferencias del Sistema no estén en ejecución antes
-- # de abrirlas de nuevo. De lo contrario, puede haber un problema
-- # al intentar abrirlo mientras en realidad se está cerrando.
repetir mientras la aplicación "Preferencias del Sistema" está en ejecución es cierto
retraso 0.1
fin repetir
-- # Abrir las Preferencias del Sistema en el panel de Accesibilidad.
decir a la aplicación "Preferencias del Sistema" que ¬
revelar panel id "com.apple.preference.universalaccess"
decir a la aplicación "Eventos del Sistema"
decir al proceso de la aplicación "Preferencias del Sistema"
decir a la ventana 1
-- # Esperar a que el elemento UI objetivo esté disponible.
establecer i en 0
repetir hasta que exista área de desplazamiento 1
retraso 0.1
establecer i en i + 1
si i 30 entonces devolver
fin repetir
-- # Seleccionar Control de Voz.
intentar
seleccionar (filas de tabla 1 de área de desplazamiento 1 ¬
cuyo valor de texto estático 1 de ¬
elemento UI 1 es "Control de Voz")
fin intentar
-- # Esperar a que el elemento UI objetivo esté disponible.
establecer i en 0
repetir hasta que exista casilla de verificación 3 de grupo 1
retraso 0.1
establecer i en i + 1
si i 30 entonces devolver
fin repetir
-- # Hacer clic en la casilla de verificación Habilitar Control de Voz.
hacer clic en la casilla de verificación 3 de grupo 1
end decir
end decir
end decir
retraso 0.2
decir a la aplicación "Preferencias del Sistema" que cerrar
Notas:
El ejemplo código AppleScript utiliza Automatización de la UI, que puede ser engorrosa a veces, y asumiendo que las Preferencias del Sistema normalmente ya están cerradas, el script hará que el ícono de Preferencias del Sistema rebote una vez en el Dock.
Nota: El <em>ejemplo</em> <strong>código AppleScript</strong> es solo eso y sin ningún <em>manejo de errores</em> incluido, no contiene ninguna <em>manejo de errores</em> adicional que pueda ser apropiado. Es responsabilidad del usuario agregar cualquier <em>manejo de errores</em> que pueda ser apropiado, necesario o deseado. Echa un vistazo a la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="nofollow noreferrer"><strong>declaración try</strong></a> y la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="nofollow noreferrer"><strong>declaración error</strong></a> en la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="nofollow noreferrer"><strong>Guía de lenguaje AppleScript</strong></a>. Ver también, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="nofollow noreferrer"><strong>Trabajar con Errores</strong></a>. Además, el uso del <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="nofollow noreferrer"><strong>comando retraso</strong></a> puede ser necesario entre eventos cuando sea apropiado, por ejemplo, <code>retraso 0.5</code>, con el <em>valor</em> del <em>retraso</em> ajustado apropiadamente.