1

我在 Mac OS 10.8 上通过 PackageMaler3.0.6 制作了一个安装程序。我还在 Distribution 中添加了一个 JavaScript 函数,该函数用于检测某个 App 是否正在运行。像这样的一些代码:

var allProcess = new Array();

allProcess = system.applications.all();

var allProcessCount = allProcess.length;

...

如果我通常在 10.8、10.7、10.5 上安装(使用安装程序 UI)这个 pkg,没关系,所有功能都可以正常工作。如果我使用命令行静默安装在 10.8、10.7 上没问题,没有错误。但是如果我在 10.5.8 上静默安装,终端会出现错误(JavaScript 错误),无法安装。如果我删除“var allProcessCount = allProcess.length;”的代码 10.5.8可以静默安装,一旦加了“allProcess.length”之类的代码就会报错,10.5貌似不能静默安装使用数组属性,但是10.7,10.8就可以了使用 UI 安装它在 10.5 上也可以。有谁知道我该如何解决这个问题?谢谢!!!

4

1 回答 1

0

似乎是 macOS 10.5 中的一个错误。你为什么不使用system.applications.fromIdentifier(bundleId).

它提供有关使用给定应用程序标识符(捆绑 ID)运行进程的信息。例如,com.apple.TextEdit。

参数

 bundleID:    A string with the bundle ID of the desired application.

返回值

    An array of dictionaries (associative arrays) describing the
 running applications identified by bundleID.

可用性

Available in Mac OS X v10.4 and later.
于 2012-11-14T10:57:35.810 回答