He descubierto algo muy extraño bug con los Servicios.
Para ser testigos de este comportamiento, siga los siguientes pasos:
Asegúrese de que Safari se encuentra en el Dock.
Abrir Automator. Crear un nuevo Servicio.
Configurar el servicio para recibir "ninguna entrada" en "cualquier aplicación."
Inserte un "Ejecutar AppleScript" de acción.
-
Pegue el siguiente en la acción:
on run {input, parameters} delay 5 display dialog "Hello" tell application "Safari" to activate return input end run
Guarde el Servicio.
Cerrar el Servicio.
Vuelva a abrir el Servicio.
Automator debe presentar un cuadro de diálogo preguntando, "¿desea instalar el "ServiceName" servicio?" Haga Clic En "Instalar".
Cuando se da la "Instalación completa" de diálogo, haga clic en "Hecho".
Ahora, ejecute el Servicio. Para ello, haga clic en el título de la aplicación en la esquina superior izquierda de la pantalla (el segundo elemento en la barra de menú). A continuación, haga clic en el título.
Usted notará que el Safari va a abrir de inmediato (evidenciado por el punto negro debajo de su logotipo en el Dock). Safari se abrirá antes de que el retraso de 5 segundos y antes de que el "Hola" aparecerá el cuadro de diálogo.
La colocación de la activate
declaración en una subrutina no se soluciona el problema.
Alguien puede confirmar que esto es un bug? Estoy convencido de que este es un error con la función Servicios porque cuando se ejecuta el Servicio desde dentro de Automator (haciendo clic en el botón "play" en la esquina superior derecha de la ventana de Automator), el código se ejecuta correctamente.
Si esto es un error, ¿alguien tiene una solución para que la aplicación no está abierta antes de que el anterior código se ejecuta?
Mi Macbook Pro es el sistema operativo OS X de El Capitan, 10.11.6.
El error puede estar relacionado con otra pieza de comportamiento extraño que he notado:
Salir de Safari.aplicación y Automator.la aplicación, si se están ejecutando.
Tire hacia arriba de la carpeta donde los Servicios del equipo se almacenan (/Usuarios/Me/Biblioteca/Servicios/) en el Finder.
Haga clic en el Servicio de archivo y abrir el archivo con Automator.
Usted notará que la apertura de la .archivo de flujo de trabajo con Automator activará Safari. No debería hacer eso.