次の問題があります。次の構造を持つバンドルがあります。
B.app/Contents/Frameworks -> 既存の FS の場所へのリンク [1] B.app/Contents/Info.plist B.app/コンテンツ/MacOS B.app/Contents/MacOS/AliasBinary -> ExistingBinary という既存のバイナリへのリンク [2] B.app/Contents/Resources -> 既存の FS ロケーションへのリンク [3]
リンク [1] と [3] は、バンドルの外部にある既存のファイルシステムの場所 (つまり、ディレクトリ) への単なるリンクです。AliasBinaryは、バンドルにコピーしたくないが、多くのバンドル間で共有したい別のアプリケーションへのリンクです。後者のバイナリは、ExistingBinaryと呼ばれます。
私が抱えている問題は、
$ open B.app
アプリケーションを開きますが、 ExistingBinaryの前のインスタンスが実行されていない場合のみです。B.app をダブルクリックする場合も同様です。実行中のExistingBinaryの以前のインスタンスがない場合、すべてが正しく機能します。ExistingBinaryが開始されると、ダブルクリックまたは呼び出しによって B.app を開始できなくなりますopen B.app
ヘルプ!
編集:
面白いことに、バンドルが /Applications 内にある場合はすべて機能しますが、/Applications の外に移動すると、アプリの最初のインスタンスにフォーカスが戻るだけです。
open -n は役立ちますが、それは私が望むものではありません:)