Applescript - La conexión no es válida

3

Tengo una aplicación para mac y uso el siguiente código de AppleScript (exportado como una aplicación AS) para iniciar esa aplicación periódicamente:

on idle
    tell application "System Events"
        tell application "MyApp"
            run
        end tell
        return 7
    end tell
end idle

Utilizo [NSApp terminate: self] en MyApp para terminarse a sí mismo después de que finalice su trabajo.

El problema es que la secuencia de comandos AS muestra un mensaje de error "La conexión no es válida" cuando intenta ejecutar MyApp la segunda vez en adelante. El error no aparece en el primer lanzamiento.

Supongo que [NSApp terminate: self] está causando el conflicto con el AS de alguna manera, pero ¿por qué?

    
pregunta Zoltán Matók 02.10.2012 - 16:10

1 respuesta

1

Al final, utilicé NSTimer para automatizar mi código.

En lugar de usar AppleScript para iniciar la aplicación periódicamente, la ejecuto constantemente y uso NSTimer dentro de mi aplicación para activar un método específico de vez en cuando.

[NSTimer scheduledTimerWithTimeInterval:2.0
    target:self
    selector:@selector(targetMethod:)
    userInfo:nil
    repeats:NO];

De esta manera, la aplicación nunca se anula y no es necesario reiniciarla.

    
respondido por el Zoltán Matók 09.10.2012 - 13:02

Lea otras preguntas en las etiquetas