0

MAC OSXのObjectiveCアプリケーションであるfirst.appがあり、管理者権限を持つNSAppleScriptを使用してシェルスクリプトを実行しています。このスクリプトは、別のObjectiveCアプリケーションであるsecond.appを起動するためにインデントされています。

シェルスクリプトでopenコマンドEx: "open second.app"を使用すると、正常に動作します。

ただし、シェルスクリプトでバイナリEx: "/second.app/Contents/MacOS/second"を呼び出してsecond.appを起動すると、second.appが閉じるまでコントロールはfirst.appに戻りません。second.appを閉じると、first.appが再開します。

上記のように、openコマンドからアプリケーションを起動することと、アプリケーションのバイナリを直接呼び出すことの違いは何ですか?

4

1 に答える 1

0

呼び出し

open Second.app

Finderでアプリのアイコンをダブルクリックするのと同じです。アプリケーションはLaunchServicesを介して開始され、openコマンドはすぐに戻ります。

呼び出し

/path/to/Second.app/Contents/MacOS/Second

アプリケーションを直接(LaunchServicesなしで)開始し、アプリケーションが終了したときにのみ戻ります。

于 2013-01-18T07:06:51.557 に答える