我们已经发布了几个不同版本的应用。它们具有相似的名称 - Foo Basic , Foo Deluxe , Foo Retro 等。类似但不同的包标识符也是如此。 (这不是我的想法!)有些用户安装了多个这样的应用程序,但只有一个可以运行。
所有应用都支持相同的AppleScript字典。我需要AppleScript来编写我们应用程序当前运行版本的脚本。我怎么能这样做?
答案 0 :(得分:0)
我得到了它的工作。它需要几件:
processes
System Events
或do shell script "ps …"
执行此操作,无论您认为哪种情况在您的情况下更可靠。这是一些代码。我正在处理的脚本还没有使用系统事件,所以为了让新用户免去系统首选项的麻烦,我选择使用/ bin / ps ...
set appName to runningAppWithBaseName("Foo")
using terms from application "Foo Deluxe" -- an app on your Mac
tell application appName
(* whatever code you want here *)
end tell
end using terms from
on runningAppWithBaseName(baseName)
set command to "/bin/ps -eo args | grep " & baseName & " | grep -v grep"
(* The "grep -v grep" is to exclude the grep process itself from the results. *)
try
set fullPathOfRunningApp to do shell script command
end try
(* Here, given the fullPathOfRunningApp and your list of candidate app names, *)
(* insert code to determine the name of the running app. *)
return nameOfRunningApp
end runningAppWithBaseName