0 votes

Dites à l'application la piste suivante à l'intérieur de la répétition

J'essaie de définir un script pour jouer la suite sur iTunes et Spotify comme ceci.

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

Mais sur le tell bloc, je continue à obtenir : "Je m'attendais à une fin de ligne mais j'ai trouvé un identifiant."

Comment puis-je utiliser le nom de l'application comme var itérable dans ce cas ?

0 votes

Il suffit d'utiliser, tell application "Spotify" to next track et tell application "iTunes" to next track

0 votes

Bien sûr que c'est possible, je suis juste curieux de savoir comment résoudre le problème du tell block, et si certains cas où la boucle de répétition est plus que juste 2 éléments ?

0 votes

Vous ne pouvez pas utiliser un repeat boucle de la manière spécifique que vous essayez, quel que soit le nombre de noms d'applications dans la liste. Vous devez toujours utiliser soit tell application ... o using terms from application ... tout en utilisant le nom réel de l'application, pas un nom de variable, sinon le script ne compilera pas et obtiendra une erreur.

1voto

user3439894 Points 52496

Ce format fonctionnera :

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

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X