¿Por qué mi AppleScript no se ejecuta como un servicio?

Tengo un AppleScript simple que funciona exactamente como se esperaba cuando se ejecuta solo, como una aplicación, directamente desde ScriptDebugger o Script Editor, o como un elemento de una automatización desde Automator:

ingrese la descripción de la imagen aquí

Sin embargo, cuando intento ejecutar esta Automatización como Servicio, por ejemplo, guardándola como Servicio y ejecutándola desde el menú Servicios

ingrese la descripción de la imagen aquí

no pasa nada. El Servicio no se ejecuta si uso una acción "Ejecutar AppleScript" en Automator, o creo una aplicación a partir del script y uso una acción Iniciar aplicación.

¿Por qué mi AppleScript no se ejecuta como un servicio, cuando funciona perfectamente en todas las demás circunstancias?

Funciona para mi. ¿Ha cambiado el nombre de la aplicación TextWrangler?
PD. El menú Servicios no es un gran lugar para este tipo de cosas, en mi humilde opinión. Si desea asignar accesos directos a Applescripts, quizás le interese FastScripts
@ghoppe: ¿Por qué no es un gran lugar?
El menú Servicios está diseñado para el procesamiento contextual de texto, archivos, imágenes, etc. Si bien es posible calzar scripts globales "ejecutar en cualquier lugar" que no toman ninguna entrada allí, para mí tiene más sentido mantenerlos en los scripts globales. menú. Me gusta mantener mi menú de Servicios reducido para que sea más útil.
@raxacoricofallapatorius Hay un error en el que los accesos directos a los servicios no siempre funcionan al principio hasta que el servicio se ha seleccionado una vez en la barra de menú. Los servicios con accesos directos globales no se pueden ejecutar cuando la aplicación principal no tiene un menú de servicios. Editar scripts en Automator puede ser una molestia. Los servicios no son tan fáciles de compartir como los scripts normales.

Respuestas (1)

Esto es extraño, pero he visto al menos a tres personas en las Comunidades de soporte de Apple que tuvieron este problema cuando a of process "x"y a tell application "System Events" toestán en la misma línea.

Prueba esto.

on run {input, parameters}
  tell application "System Events"
      tell process "TextWrangler" to set visible to not visible
  end tell
end run