我在Mac OS 10.8上通过PackageMaler3.0.6制作了一个安装程序。另外我在Distribution中添加了一个JavaScript函数,这个函数用于检测某个App是否正在运行。一些代码如下:
var allProcess = new Array();
allProcess = system.applications.all();
var allProcessCount = allProcess.length;
...
如果我正常安装(使用安装程序用户界面)这个pkg在10.8,10.7,10.5上,没关系,所有功能都可以。如果我使用命令行进行静默安装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上也可以。有谁知道我怎么能解决这个问题?感谢!!!
答案 0 :(得分: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.