1

アプリケーション バンドル内にいると、バイナリ実行可能ファイルの実行方法にどのような影響がありますか?

説明するために、Mountain Lion 用に Emacs をコンパイルしました。これにより、バイナリ実行可能ファイルと、まったく同じバイナリ (diff によると同じ内容) とその他のリソースを含むアプリケーション バンドル Emacs.app が生成されます。

ターミナル (またはファインダー) からバイナリ自体を実行すると、次のようになります。

  • Emacs が起動し、初期化ファイルが正しく処理され、見栄えがよくなります。
  • ただし、アプリケーションメニューにはまだ「ターミナル」と表示され、
  • キーボード入力は Emacs ではなく端末に送られます。
  • また、赤い信号機のボタンが Emacs に送信されますが (Emacs は保存するものがないと言います)、プロセスを終了しません。

対照的に、Emacs.app を実行すると、Emacs は期待どおりに実行されます。誰かが私のためにこの違いを説明できますか?

4

1 に答える 1

0

.app バンドルを起動すると、フォルダーのルートにある Info.plist によって多くの OS 固有の動作が構成されます。

https://developer.apple.com/library/mac/#documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html

この方法でネイティブ実行可能ファイルを起動し、同じ動作を行うことができます。

于 2013-01-25T21:02:59.220 に答える