如何关闭 Applescript 猜测应用程序名称?

How to turn off Applescript guessing of Application name?

我正在尝试使用以下代码将名为 "Adobe After Effects CC 2014" 的应用程序定位到 applescript:

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

事实上,我还安装了一个名为 "Adobe After Effects CC 2015" 的应用程序。如果 2015 不是 运行 则没有问题,applescript 会正常运行(如果不是 运行 则从 2014 年开始,如果是则将其置于最前面)。但是,当 2015 年为 运行 时,脚本会在脚本编辑器 运行 时自动将 "Adobe After Effects CC 2014" 更正为 "Adobe After Effects CC 2015" 并运行到 2015 年。

有没有办法关闭这种自动更正版本号的行为?

我知道一个解决方案是在 运行 脚本之前关闭 2015,但在这种情况下我需要它也保持 运行。我在 OS X 10.10.4.

这听起来像是创建者代码问题(使用老派术语)。我相信 applescript 一旦编译,将使用应用程序的包标识符,问题是程序的两个版本的包标识符可能相同。

您可能想尝试用鼠标右键单击 2014 版本并打开内容。然后打开目录文件夹,在那里你会看到Info.plist。制作此文件的副本并对其进行编辑以更改 Bundle identifier 字段并将 2014 添加到标识符的末尾(可能类似于 com.adobe...2014.

显然您可以根据 the documentation 使用完整路径定位应用程序。所以它会是

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

试试这个:

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