1

MacOS10.8でPackageMaler3.0.6のインストーラーを作成しました。また、DistributionにJavaScript関数を追加しました。この関数は、特定のアプリが実行されているかどうかを検出するために使用されます。このようないくつかのコード:

var allProcess = new Array();

allProcess = system.applications.all();

var allProcessCount = allProcess.length;

..。

このパッケージを通常(インストーラーUIを使用して)10.8、10.7、10.5にインストールすると、問題ありません。すべての機能が正常に機能します。コマンドラインを使用してサイレントインストールする場合10.8,10.7では問題ありません。エラーはありません。しかし、10.5.8にサイレントインストールすると、ターミナルでエラー(JavaScriptエラー)が発生し、インストールできません。「varallProcessCount=allProcess.length;」のコードを削除すると 10.5.8でサイレントインストールできます。「allProcess.length」のようなコードを追加すると、エラーが発生します。10.5のサイレントインストールでは配列プロパティを使用できないようですが、10.7,10.8では問題ありません。 UIを使用してインストールすると、10.5でも問題ありません。誰かがこの問題をどのように解決できるか知っていましたか?ありがとう!!!

4

1 に答える 1

0

macOS10.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 に答える