Quitter et réouvrir une application par AppleScript
Philippe49
Membre
Y-a-t-il un appleScripter dans le coin qui pourrait m'expliquer mon erreur dans le script suivant ?
set actualDocumentPath to path of front document of application "Xcode"<br /><br />tell application "Xcode" to quit<br /><br />tell application "Xcode"<br /> launch<br /> open actualDocumentPath<br />end tell
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Mais bon d'habitude il attend quand même...
Tu peux intercaler une commande du genre Je suis sûr que c'est pas comme ça que ça s'écrit en AS, faut regarder le dictionnaire de "System Events" pour retrouver le bon mot clé pour avoir la liste des process et attendre que Xcode ne soit plus dans la liste des processes ouvert... et pareil le "with timout" je crois qu'on peut le faire mais je ne me souviens plus de la syntaxe (c'est p'tet bien même plutôt sous la forme d'un bloc "with timeout" qui encapsule ton repeat, je sais plus)... enfin tu vois l'idée.
Je dis cela parce que repeat until "Xcode" in processes of application "System Events" refuse l'accès (current non reconnu).
repeat until application "Xcode" in processes of application "System Events"
mais
Erreur dans System Events : Il est impossible de rendre |processes| en type reference.
Pour ma part je viens d'essayer ceci :
Mais il a l'air de se fouttre de mon "with timeout" comme de l'an 40. Donc en alternative, je propose qui a l'air de marcher parfaitement chez moi... Je te laisse utiliser la fonction pour l'adapter à ton cas
cela marche très bien en script, pas dans XCode si un document est ouvert.
Je regarde ton script de plus près.
sinon j'ai un message : Impossible de réaliser la connection avec XCode (image ci-dessous)
Pour faire fonctionner dans XCode la version repeat try du post précédent, je copie mon script dans un répertoire et par imitation avec le script Text > Convert Spaces ToTab, je lance par
Le script activé depuis script editor marche dans tous les cas, le script lancé par XCode ne fonctionne pas si j'ai un projet ouvert .
Alors du coup je te le concède, c'est un peu capilotracté de passer par Automator pour faire... du code AppleScript finalement, mais d'une part tu peux mixer les 2 (action "quitter Xcode" et "lancer Xcode" en actons Automator, le reste en actions "code AppleScript"), et surtout c'est le process "Automator Runner" lui-même qui exécute le script, et plus Xcode, et donc potentiellement ça peut régler ton souci
D'accord le "delay" est moins élégant qu'une boucle d'attente de fermeture, mais trois secondes ce n'est pas si long.
??? ça marche avec Xcode, mais pas forcément avec une autre application!