適切なMacアプリケーションを作成するには、Mac OS Xバンドルを作成する必要があります。素晴らしい文書はAppleのサイトhereにあります。標準的なツールで作成することができます(小さなPythonスクリプトを書いて、ファイルを記述する単純な.iniファイルからInfo.plist
ファイルを構築するバンドルを作成しました)。
基本的に、アプリケーションバンドルは、.app
拡張子と固定構造の通常のディレクトリです。以下のファイルが必要です。
Application.app/
+ Contents/
+ MacOS/
| + <Executable>
+ Resources/
| + <Icon>
+ Info.plist
Info.plist
ファイルは実行ファイル(CFBundleExecutable
)の名前が何であるかを示していること、(XMLまたは古い形式のいずれか)の標準プロパティリストファイルで、何ですかアイコンファイルの名前(CFBundleIconFile
)、バンドルタイプ(CFBundleType
の値がAPPL
)、その他の情報(サポートされているファイルタイプ、バージョン文字列、開発言語など)が含まれます。これらのファイルは、基本的なMac OS Xアプリケーションをインストールするために必要な最小限のものです。
Mac OS Xメッセージポンプの仕組みについては、Matt Gallagherのこのarticleをお読みください。 NSApplicationクラスの実行メッセージがどのように実装されているかを説明します。このメソッドは、保留中のメッセージがあるときにのみ反復するrunOnceメソッドを記述できます。その後、(それがPeekMessage
、TranslateMessage
には本当に似ている、とWin32上DispatchMessage
シーケンス)定期的にこの関数を呼び出します:
- (void)runOnce
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[self finishLaunching];
for (;;)
{
[pool release];
pool = [[NSAutoreleasePool alloc] init];
NSEvent *event =
[self
nextEventMatchingMask:NSAnyEventMask
untilDate:nil
inMode:NSDefaultRunLoopMode
dequeue:YES];
if (sender == nil)
break;
[self sendEvent:event];
[self updateWindows];
}
[pool release];
}
私は、.iniファイルからMac OS Xバンドルを構築するスクリプトを持つコンピュータにアクセスできないが、興味があると思われる場合は、月曜日に投稿しようとします。 –
音が盛り上がる!本当にありがとう! –