Supongamos el siguiente Applescript se ejecuta en una máquina que no tiene una aplicación llamada SomeApp instalado:
if isAppRunning("SomeApp") then
tell application "SomeApp"
--Do Something
end tell
end if
on isAppRunning(theApp)
tell application "System Events" to set runningApps to (get name of (processes where background only is false))
if runningApps contains theApp then
return true
else
return false
end if
end isAppRunning
Porque SomeApp no es todavía presente en esta máquina, el tell application "SomeApp"
bloque nunca debe correr!
A pesar de esto, cuando yo uso el código anterior, Applescript, aparecerá el siguiente mensaje:
¿Cómo puedo evitar que aparezca este mensaje?
Nota 1: El tiempo si este mensaje es impredecible. En el más simple de los scripts, incluyendo el código exacto publicado, sólo aparece en el momento de la compilación. Sin embargo, éste aparecerá en tiempo de ejecución en más de secuencias de comandos complejas.
Nota 2: estoy ejecutando Mac OS X 10.9 Mavericks, que es bastante antiguo de este escrito. No sé si esto está relacionado con el comportamiento que estoy observando.