Macos 使用Applescript启动两个应用程序

Macos 使用Applescript启动两个应用程序,macos,applescript,osx-lion,Macos,Applescript,Osx Lion,我一直在尝试启动我用一个applescript文件创建的两个应用程序。(我正在使用OS X Lion) 我使用的代码是: tell application "app1" to activate tell application "app2" to activate 执行这两个操作中的任何一个都会起作用,但两者一起只会启动第一个应用程序 有人知道我做错了什么吗 第一个应用程序是由xCode编译的C应用程序,第二个应用程序是在FlashCS4中创建/发布的AIR/Flash应用程序 编辑 我也试

我一直在尝试启动我用一个applescript文件创建的两个应用程序。(我正在使用OS X Lion)

我使用的代码是:

tell application "app1" to activate
tell application "app2" to activate
执行这两个操作中的任何一个都会起作用,但两者一起只会启动第一个应用程序

有人知道我做错了什么吗

第一个应用程序是由xCode编译的C应用程序,第二个应用程序是在FlashCS4中创建/发布的AIR/Flash应用程序

编辑


我也试过了

do shell script "my_path_here/app1"
do shell script "my_path2_here/app2"
它只启动第一个应用程序

我也试过:

do shell script "my_path_here/app1" & "; my_path2_here/app2"
它仍然只启动第一个应用程序

编辑2



我发现这个脚本可以工作:

do shell script "cd my_path_here/ ; open app1 ; cd my_path2_here/ ; open app2"
这完成了我需要做的事情,但仍然保留了原始问题,因为这是一个解决方法,而不是修复。。。不过,这可能会让我们更清楚地了解问题可能是什么

tell application "app1" to activate
end if

tell application "app2" to activate
end if

尝试一下,看看它是如何工作的。

我无法重现这个问题,因此无法告诉您为什么会发生这种情况,但是(假设存在时间问题)在应用程序启动之间引入一个时间间隔可以解决问题。你需要试验一下延迟时间

tell application "app1" to activate
delay 10
tell application "app2" to activate

我发现这个脚本可以工作:

do shell script "cd my_path_here/ ; open app1 ; cd my_path2_here/ ; open app2"
执行shell脚本“cd my_path_here/;open app1;cd my_path 2_here/;open app2”
这完成了我需要做的事情,但仍然保留了原始问题,因为这是一个解决方法,而不是修复。。。这可能会让我们更清楚地了解问题所在。

我不打算正式回答这个问题,但我认为AIR应用程序不支持Applescript。我为你寻找了一个明确的答案。一种确定的方法是尝试用ScriptEditor打开AIR应用程序,看看是否有AppleScript字典,但可能没有。这是有道理的,但既然我所做的只是启动应用程序,这不应该是个问题吗?或者至少用一个applescript运行两个shell脚本来启动应用程序应该是可行的,但我已经尝试过了,并且它做了完全相同的事情。更不用说,我可以从applescript成功运行AIR应用程序,只是不能同时运行两个应用程序。
预期行尾,等等。但是发现“如果”
对不起,将其从“end if”更改为“end tell”。相同的错误,但改为“end tell”。我还尝试使用
tell应用程序“app1”\n activate\n end tell
等进行此操作。。但它仍然不起作用。我将进一步研究它。我尝试了这个,但它不起作用,但是我确实发现了一个可以起作用的do shell脚本,我已经将它添加到了问题中
tell application "app1" to activate
end if

tell application "app2" to activate
end if