3 votos

Applescript - La conexión no es válida

Tengo una aplicación para mac y utilizo el siguiente código 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 que se termine a sí misma después de terminar su trabajo.

El problema es que el AS script muestra un mensaje de error "La conexión no es válida" cuando intenta ejecutar MyApp la segunda vez y 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é?

1voto

Andreas Bonini Puntos 1084

Al final he utilizado NSTimer para automatizar mi código.

En lugar de utilizar el applescript para lanzar la aplicación periódicamente, tengo la aplicación que se ejecuta constantemente y uso NSTimer dentro de mi aplicación para disparar un método específico de vez en cuando.

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

De este modo, la aplicación nunca se muere y no tiene que reiniciarse.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X