UNIX の観点から言えば、私は Mac 固有の開発経験があまりないためです。
コンソールはデフォルトで「割り当て」られています。ただし、OS にコンソールを開くように命令することはできません。ターミナルで開くために使用している IDE を伝えるか、それがサポートされている場合は、GUI を使用しているにもかかわらず、現在のアプリケーションをコンソール アプリケーションとして作成します。
コンソールがデフォルトで割り当てられるとはどういう意味ですか? 各プロセスは、実際には呼び出しプロセスからstdin
, stdout
and stderr
(ファイル識別子 0、1、および 2) を取得します。したがって、呼び出しプロセス ( bash
、Finder など) が都合よくそれらを開いたままにしておくことを忘れない限り、常にコンソールを開いたままにしておく必要があります。
コンソールを取得する最も簡単な方法は、Finder が GUI から実行するように、ターミナルからアプリケーションを起動することです。.apps は実際にはフォルダーです。
/projects/myapp$ ./BuiltApplication.app/Contents/MacOS/BuiltApplication
Finder は、現在の作業ディレクトリを .app バンドルが配置されているフォルダーに設定するため、上記はそれをすべて最適にエミュレートします。
/Applications/Utilities/Console.app
さらに、 MacOS に含まれているコンソール アプリケーションを参照してください。コンソールは通常、stdout と stderr を表示するために使用されます。私は Mac を使用していないため、これをテストすることはできませんが、stdout と stderr をそこにリダイレクトする必要があると言うソースを実際に見つけました。この投稿を参照してください。
Console.app を使用して、通常の方法で起動されたアプリケーションの出力を確認できます。これは、起動インフラストラクチャが特別にstdout
andを送信するためstderr
です。asl
必要に応じて、ルーチンを使用してログを照会したり、より高度なログを実行したりすることもできます。