1 votos

Simple 3 de la línea de applescript - Error -128

Tengo un escenario donde me gustaría separados 2 applescripts.

La idea es super simple. 2 Aplicaciones, pero sólo uno se ejecuta en un momento.

Ejemplo: Cerca de la 1 de la aplicación, iniciar la aplicación 2 (y viceversa)

Aquí están los 2 scripts que tengo:

A.) OpenSteam

tell application "Plex Home Theater" to quit
delay 5
tell application "Steam" to activate

B.) OpenPlex:

tell application "Steam" to quit
delay 5
tell application "Plex Home Theater" to activate

La secuencia de comandos "OpenSteam" funciona perfectamente bien. Hace exactamente lo que yo quiero hacer. Sin embargo, la misma secuencia en orden inverso (OpenPlex) no parece funcionar.

El vapor se cierra, pero mi script y luego me da el siguiente error *Nota, Plex no es lanzado:

error "Steam got an error: User canceled." number -128

No tengo idea de lo que esto significa, y estaba esperando que alguien me pudiera ayudar.

--

Tengo mi información inicial a partir de aquí: https://forums.plex.tv/index.php/topic/27945-harmony-one-custom-command/#entry179765 he revisado los scripts de ejemplo para que se ajuste a mis necesidades.

2voto

Tim Brigham Puntos 8727

El dolor de cabeza se pone con la forma de Vapor se ocupa de su estado de salida. Vapor probablemente no tiene applescript de integración, por lo que considera un quit de comandos de applescript inmundo de salida. Aún así sería dejar de fumar, sino que también le permitirá saber acerca de ella. Lo que usted necesita es una forma de ignorar el mensaje de error y ejecutar el resto de la secuencia de comandos, sin embargo.

try
    tell application "Steam" to quit
    on error error_message number error_number
        if error_number is equal to -128 then
        --Keep Calm and Carry On
        else
            display dialog error_message
        end if
end try
delay 5
tell application "Plex Home Theater" to activate

Se pueden combinar los dos scripts en una alternancia de/del interruptor:

set steamRunning to false
set plexRunning to false

try
    do shell script "pgrep -l -f 'Steam.app'"
    set steamRunning to true
end try

try
    do shell script "pgrep -l -f 'Plex Home Theater'"
    set plexRunning to true
end try

if steamRunning is true and plexRunning is false then

    try
        tell application "Steam" to quit
    on error error_message number error_number
        if error_number is equal to 128 then
            --Keep Calm and Carry On
        else
            display dialog error_message
        end if
    end try
    delay 5
    tell application "Plex Home Theater" to activate

end if


if steamRunning is false and plexRunning is true then

    tell application "Plex Home Theater" to quit
    delay 5
    tell application "Steam" to activate

end if

No tengo cualquiera de las aplicaciones así que no se puede depurar. Podría haber varios procesos denominados "vapor", dada su juego-cosa, así que he usado "de Vapor.app", suponiendo que el nombre de la aplicación bajo /Applications/.

0voto

adayzdone Puntos 1258

¿Has probado...

launch application "Plex Home Theater"

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