El servicio de Automator no se muestra en el menú de servicios

No sé casi nada sobre OS X, pero me han pedido que haga algunos scripts diferentes para acciones en Apple Mail. Una es vincular una tecla de acceso rápido que creará un recordatorio con un tiempo de seguimiento de dos días hábiles.

Seguí una guía sobre cómo compilar el script e insertarlo en Automator que se encuentra aquí . El script funciona cuando se ejecuta en la aplicación AppleScript y se compila y ejecuta en Automator. El servicio/flujo de trabajo generado por Automator se guarda en ~/Library/Services/ pero no se muestra en el menú de servicios en Apple Mail. Este artículo dice que los servicios para Apple Mail deben estar en la carpeta /System/Library/Automator. No puedo mover el servicio a esa carpeta porque la carpeta está bloqueada. El servicio está configurado para no tener entrada y estar en la aplicación de correo.

¿Cómo puedo hacer que este flujo de trabajo/servicio se muestre en el menú de servicios de correo de mac?

Respuestas (4)

Dependiendo de cómo esté configurado su script, de manera predeterminada, cualquier Servicio requiere tener un elemento seleccionado/resaltado (en su caso, un correo electrónico) ya que son sensibles al contexto.
Puede deshabilitar este comportamiento cambiando el campo desplegable "El servicio recibe" y seleccionando "sin entrada". Obviamente, esto solo se aplica si su secuencia de comandos obtiene la entrada por sí misma o no la necesita.

No seleccionar ninguna entrada permite que el servicio se ejecute sin la necesidad de seleccionar un elemento

Desafortunadamente, parece haber problemas extraños cuando los servicios tienen espacios y/o números en su nombre.
Como dijo @gerlos, cambiarles el nombre debería resolver el problema, pero es posible que sea necesario reiniciar (lo cual fue mi caso).

Como extra;
Si ahora descubre que no le gusta el nombre del nuevo servicio, ¡puede cambiarlo!
Simplemente haga clic derecho en el archivo .workflow y seleccione 'mostrar contenido del paquete'.
Dentro encontrarás un archivo info.plist configurable.
Ábralo con su editor de texto o plist favorito (o simplemente el viejo TextEdit) y busque la clave xml 'NSMenuItem', debe contener una entrada de clave 'predeterminada' asociada con una cadena, la cadena en cuestión es el nombre para mostrar del servicio .

Puede encontrar más información sobre todo lo que es configurable (por ejemplo, una descripción del servicio) en la documentación de Apple aquí: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/SysServices/Articles/properties.html

Probado en OS X High Sierra

Tengo 42 servicios con espacios en su nombre y cada uno de ellos se muestra en el menú Servicios. Estoy usando inglés de EE. UU. y uno no debería tener que cambiar el nombre sin espacios usando inglés de EE. UU., sin embargo, presentaré que en un idioma diferente puede ser un problema ya que gerlos dijo que está usando italiano.
Sería bastante tonto si la localización causa el problema, pero el mío está configurado en inglés (Reino Unido), por lo que es posible que tenga razón. Intenté vaciar el pboard con "pbs -flush -update", modificando manualmente el caché, pero fue en vano, se requirió un cambio de nombre.
Lo de "sin entrada" funcionó para mí. Mi servicio tomó información del contenido de mi portapapeles... lo que supongo implicaba el contexto incorrecto para hacer que el servicio estuviera disponible. No sé. De todos modos, cambiar a "sin entrada" funcionó.

Entonces, aparentemente, tuve que deshabilitar la protección de integridad del sistema sin raíz solo para mover el archivo de flujo de trabajo entre carpetas. Todavía espero que alguien encuentre una mejor manera de instalar servicios en la aplicación de correo en El Capitan, porque tener que hacer varios reinicios y deshabilitar las funciones de seguridad de bajo nivel parece excesivo cuando solo intento extraer datos de dos aplicaciones básicas.

http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/

No creo que tengas que poner servicios dentro del árbol /System/. Generalmente, los elementos del sistema van allí, no los elementos del usuario. Creo que por eso está bloqueado. Acabo de recrear el servicio (pero no puse el código Applescript), encontré un acceso directo vacío y lo asigné. El servicio terminó en la categoría 'General' pero está disponible mientras Mail está activo y el acceso directo activa el script. El artículo de Engadget en realidad afirma que Apple pone sus servicios en el árbol del sistema, pero los usuarios van a otra parte. Puede probar sin el método abreviado de teclado que ha elegido, que es bastante común.

Me encontré con este mismo problema recientemente, en MacOS 10.11 El Capitan y MacOS 10.14 Mojave .

Creé un servicio en Automator, lo guardó automáticamente ~/Library/Services/pero no apareció en el menú de servicios como esperaba.

El problema parece estar relacionado con el nombre de archivo del archivo de flujo de trabajo (quizás espacios en el nombre de archivo). En mi experiencia, debería ser suficiente cambiar el nombre del archivo para resolver el problema.

Para hacerlo, vaya a ~/Library/Services/(desde el menú Finder: Go> Go to foldery péguelo ~/Library/Services/allí) y cambie el nombre del archivo de servicio , eliminando los espacios del nombre del archivo.

Luego, es posible que deba ir al panel Teclado en Preferencias de Mac y habilitar su servicio en la pestaña de acceso directo (busque en la sección "Servicios").

RE: removing spaces from file nameTengo muchos servicios de Automator/acciones rápidas con espacios en sus nombres y se muestran bien. ¡Sugerir que se eliminen los espacios es ridículo!
@ user3439894 también me parece ridículo. Sin embargo, enfrenté el mismo problema del OP varias veces, y cambiar el nombre del archivo me ayudó a eliminar el espacio. Me gustaría saber si esto también funciona para alguien más o no. ¿Quizás está relacionado con la localización del sistema? El mío es italiano.
Cualquier cambio de nombre parece ayudar. Por lo tanto, no se trata de los espacios en el nombre del archivo, sino de que el nombre modificado debe ser diferente del nombre original (que es idéntico al nombre con el que aparecería el Servicio en el menú).

El cambio de nombre no ayudó, y "sin entrada" tampoco. Sin embargo, el any applicationhizo el truco para mí. Estaba enviando el servicio estrictamente a Final Cut Pro y, por alguna razón, simplemente no aparecía en el menú de servicios. Cambiarlo para cualquier aplicación resolvió el problema. El único problema es que ahora el servicio aparece en todas partes, lo cual es molesto. Pero no duele, siempre que no haya un conflicto de atajos.

Editar: lo cambio de nuevo a FCP y boom, todo funciona bien. Supongo que tenía un conflicto interno con la ruta a la aplicación o algo así.