iCal ¿Ya no se ejecutan los scripts?

12

Tengo algunas tareas automatizadas en forma de AppleScripts que programaría para ejecutarse durante la noche a través de un evento de iCal. El evento simplemente se configurará para "ejecutar el script" en "0 minutos antes del evento" y seleccionaría los distintos scripts para ejecutar.

Desde la actualización a Mountain Lion, sin embargo, "ejecutar secuencia de comandos" ahora es solo "abrir archivo" y las secuencias de comandos no se ejecutan, simplemente se abren en AppleScript Editor.

Intenté compilar los scripts en aplicaciones para ver si podía seleccionar los que se abrirían en su lugar, pero no están disponibles para seleccionarlos desde el evento (están en gris).

  1. ¿Cómo puedo obtener el calendario para ejecutar mis scripts?
  2. Por el contrario, ¿hay una mejor manera de programar los scripts para que se ejecuten?
pregunta David 03.08.2012 - 12:02

3 respuestas

10

Escribí una respuesta a una pregunta sobre la programación de trabajos que podría resolver algunos de los problemas para usted. Sin embargo, eso fue principalmente por un tiempo libre en vez de en curso.

Si tiene un trabajo en curso, como el que habría programado a través de iCal, launchd también funcionará bien.

Pero si quieres un reemplazo absoluto de algo similar a lo que hiciste con iCal / Calendar, suena como esta gran reseña en el panel de Discusiones de Apple se explica el uso de la 'Alarma de calendario ' de Automator. Un usuario incluso dijo que esta nueva forma es incluso más fácil de usar. Personalmente creo que con la potencia adicional de Automator, también agrega nueva potencia.

Desde ese sitio:

  

Aquí hay una solución que funciona para mí:

     
  1. En Automator, crea una alarma de calendario
  2.   
  3. Seleccione Utilidades en el panel de la biblioteca
  4.   
  5. Selecciona & arrastre Ejecutar AppleScript en el área de flujo de trabajo
  6.   
  7. Copie / pegue el AppleScript en el cuadro Ejecutar AppleScript
  8.   
  9. Guarde la alarma de calendario recién creada
  10.   
  11. Abre Calendar.app, crea un nuevo evento
  12.   
  13. Seleccione el calendario de Automator como su calendario de referencia
  14.   
  15. Seleccione Abrir archivo para la alerta y seleccione el archivo que creó en Automator. Por defecto, iCal es el archivo que aparece cuando selecciona   Abrir documento.
  16.   
  17. Cambia eso al nombre de la aplicación Automator que creaste.
  18.   
  19. Seleccione Otro si no se muestra el nombre del archivo.
  20.   

El usuario también adjuntó algunas capturas de pantalla a su publicación, pero he incluido una captura de pantalla de lo que debe seleccionarse en Automator.

    
respondido por el jmlumpkin 03.08.2012 - 12:53
4

Parece que Apple no transfirió la funcionalidad "Ejecutar script" de iCal a Calendar en Mac OS X 10.8, también conocido como Mountain Lion.

Puedes programar aplicaciones para que se ejecuten en Mac OS X de varias maneras.

Herramientas de programación incorporadas

El método de programación integrado preferido es usar launchd (daemon de inicio). Para usar launchd creas tickets de trabajo de launchd y los colocas ellos en su carpeta ~/Library/LaunchAgents/ .

cron está disponible en Mac OS X pero ya no se recomienda. Sin embargo, hay muchas programaciones que pueden ser representadas por cron y no por launchd .

launchd documentation de Apple es un buen lugar para empezar.

Herramientas de programación de terceros

Si desea una interfaz gráfica o más funcionalidades, hay aplicaciones de terceros disponibles. Mi empresa desarrolla Power Manager ; También existen otras soluciones.

    
respondido por el Graham Miln 03.08.2012 - 12:26
0

La respuesta de jmlumpkin es acertada, pero puedes hacerlo aún más fácil para ti. Como describí en una publicación de blog , no es necesario que copie y pegue el script en El nuevo flujo de trabajo que creas. En su lugar, puede llamar al AppleScript original desde dentro del flujo de trabajo:

on run {input, parameters}

    run script file "Macintosh HD:Some Directory On Disk:a cool script.applescript"

end run
    
respondido por el Dov 03.05.2013 - 15:25

Lea otras preguntas en las etiquetas