0 votos

Dile a la aplicación siguiente pista dentro de la repetición

Estoy tratando de definir script para que se reproduzca a continuación en iTunes y Spotify así.

on run {input, parameters}
    set apps to ("Spotify", "iTunes")
    repeat with thisApp in apps
        tell application thisApp
            next track
        end tell
    end repeat
end run

Pero en el tell bloqueo, sigo recibiendo: "Se espera el final de la línea pero se encuentra el identificador".

¿Cómo puedo utilizar el nombre de la aplicación como var iterable en este caso?

0 votos

Sólo tienes que usar, tell application "Spotify" to next track y tell application "iTunes" to next track

0 votos

Por supuesto que es posible, sólo tengo curiosidad por saber cómo resolver el problema de tell block, ¿qué pasa si algunos casos en los que el bucle de repetición es más que sólo 2 elementos?

0 votos

No se puede utilizar un repeat bucle de la manera específica que estás intentando, independientemente de cuántos nombres de Apps haya en la lista. Siempre hay que utilizar tell application ... o using terms from application ... mientras se utiliza el nombre real de la aplicación, no un nombre de variable, de lo contrario el script no compilará y obtendrá un error.

1voto

user3439894 Puntos 5883

Este formato funcionará:

set apps to {"Spotify", "iTunes"}
repeat with thisApp in apps
    if (thisApp's contents = "Spotify") then
        tell application "Spotify" to next track
    else if (thisApp's contents = "iTunes") then
        tell application "iTunes" to next track
    end if
end repeat

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