Tengo un applecript que se ejecuta automáticamente y se basa en la aplicación "Contactos" para ejecutarse. Ocasionalmente, falla cuando el proceso de "Contactos" desaparece misteriosamente del monitor de actividad, aunque el dock todavía lo muestra como ejecutándose.
Lo siguiente NO funcionará:
- Applescript "Dile a la aplicación" Contactos "para activar
- Applescript "Dile a la aplicación" Contactos 'para salir (Ambos responden con "la aplicación no se está ejecutando)
- Applescript "do shell script killall launchserviced" seguido de "killall dock" se ejecuta bien pero no resuelve el problema
La única solución es SALIR MANUALMENTE de "Contactos" desde el dock y luego reactivarlo, pero esa solución no es satisfactoria porque requiere una intervención manual. ¿Alguna idea sobre a) por qué ocurre el error yb) cómo puedo atender el error al salir de "Contactos" de Applecript?
Cualquier idea será apreciada
....
En respuesta al comentario de bmike;
Ejecutando OS X 10.10.5 y aquí está la sección relevante del applecript
establezca fecha de hoy a (fecha actual) como texto
* decirle a la aplicación "Eventos del sistema"
try
set myprocessid to (get id of process "Contacts")
on error number errorno
display dialog errorno
if errorno is equal to -1728 then -- process not found
try
tell application "System Events" to run application "Contacts"
on error number errorno
if errorno = -600 then
display dialog errorno & todaysdate as text
end if
end try
do shell script "/bin/sleep 3" --and allow enough time for the app to activate
end if
end try
end tell
Esta sección intenta activar "Contactos" si encuentra que el proceso no se está ejecutando (error -1728). A continuación, intenta ejecutar la aplicación, pero siempre falla con -600 (la aplicación no se está ejecutando). Un simple applecript para salir de la aplicación también falla con -600.
Por lo tanto, si falta el proceso, la aplicación no se puede activar y el cierre no funciona tampoco.
Gracias por tus comentarios