Запустите два приложения с помощью Applescript - PullRequest
1 голос
/ 17 декабря 2011

Я пытался запустить два приложения, которые я создал, с помощью одного файла applecript.(Я использую OS X Lion)

Код, который я использую:

tell application "app1" to activate
tell application "app2" to activate

Выполнение любого из этих двух подсказок работает, но оба вместе только запускают первое приложение ...

Кто-нибудь знает, что я делаю неправильно?

Первое приложение - это приложение C, скомпилированное xCode, а второе - приложение AIR / Flash, созданное / опубликованное во Flash CS4 * 1010.*

Редактировать


Я также пытался

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"

Это выполняет то, что мне нужно, но все еще оставляет открытой исходную проблему, так как это обходной путь, а не исправление ... Это можетпролить больше света на то, в чем может быть проблема.

Ответы [ 3 ]

2 голосов
/ 17 декабря 2011

Я не смог воспроизвести проблему, поэтому не могу сказать вам, почему это происходит, но (при условии, что есть проблема с синхронизацией), введение задержки между запусками приложения может решить проблему.Вам нужно будет поэкспериментировать со временем задержки.

tell application "app1" to activate
delay 10
tell application "app2" to activate
0 голосов
/ 30 декабря 2011

Я обнаружил, что этот скрипт будет работать:

сделать сценарий оболочки "cd my_path_here /; открыть приложение1; cd my_path2_here /; открыть приложение2" Это выполняет то, что мне нужно сделать, но все еще оставляет открытым исходный файлпроблема, так как это обходной путь, а не исправление ... Это может пролить больше света на то, в чем может быть проблема.

0 голосов
/ 17 декабря 2011
tell application "app1" to activate
end if

tell application "app2" to activate
end if

Попробуйте и посмотрите, как это работает.

...