2015-08-14 1 views
0

J'essaie de cibler l'application nommée "Adobe After Effects CC 2014" avec AppleScript en utilisant ce code:Comment désactiver la devination Applescript du nom de l'application?

tell application "Adobe After Effects CC 2014" 
    activate 
end tell 

La chose est, j'ai aussi une application nommée "Adobe After Effects CC 2015" installé. Si 2015 ne fonctionne pas, il n'y a pas de problème, l'applescript se comporte comme il se doit (commence 2014 s'il n'est pas en cours d'exécution ou l'amène au premier plan si c'est le cas). Mais lorsque 2015 est en cours d'exécution, le script, lorsqu'il est exécuté à partir de l'éditeur de script corrige automatiquement "Adobe After Effects CC 2014" à "Adobe After Effects CC 2015" et il fonctionne jusqu'à 2015.

Y at-il un moyen de désactiver cette comportement de corriger automatiquement le numéro de version?

Je sais qu'une solution pourrait être de fermer 2015 avant d'exécuter le script, mais dans cette situation, j'ai besoin de continuer à fonctionner. Je suis sur OS X 10.10.4.

Répondre

1

Apparemment, vous pouvez cibler l'application en utilisant la totalité de l'application. . chemin selon the documentation il serait

tell application "/Applications/Adobe After Effects CC 2014/Adobe After Effects CC 2014.app" 
    activate 
end tell 
1

Cela ressemble à un problème de code créateur (pour utiliser la terminologie de la vieille école). Je crois que l'applescript, une fois compilé, utilisera l'identifiant de paquet de l'application et le problème est que l'identifiant de paquet est probablement le même pour les deux versions du programme.

Vous pouvez essayer de cliquer avec le bouton droit de la souris sur la version 2014 et d'ouvrir le contenu. Ensuite, ouvrez le dossier Contents, et là vous verrez Info.plist. Faites une copie de ce fichier et modifiez-le pour modifier le champ Identifiant du bundle et ajouter un 2014 à la fin de l'identifiant (probablement quelque chose comme com.adobe ... 2014

0

Essayez ceci:

tell application "Adobe After Effects CC 2014" 
if application "Adobe After Effects CC 2015" 
tell application "Adobe After Effects CC 2015" 
close 
tell application "Adobe After Effects CC 2014" 
    activate 
end tell