|
- Application Kit-
NSWorkspace
Application Kit - NSWorkspace
アイコンを取得する
Keywords: iconForFile
やはり Mac といったら、アイコンだろう!というわけで、アイコンを取得してみよう。アイコンは .app の中の .icns というファイルにしまわれている。このファイルのパスは各 .app にある Info.plist からたどれるわけだ。で、簡単に .icns ファイルから画像を読み出す方法がある。NSWorkspace クラスの iconForFile: メソッドを使うと、NSImage 型でアイコンの画像を読みだせるんだ。
Application Kit/NSWorkspace.h
- (NSImage *)iconForFile:(NSString *)fullPath;
このメソッドは、パスを指定すると、そのファイルのアイコンの画像を取ってきてくれるものなんだ。
IconImageView.m (sample)
- (void)drawRect:(NSRect)rect
{
NSWorkspace* workspace = [NSWorkspace sharedWorkspace];
NSImage* image =
[workspace iconForFile:@"/Applications/Sherlock.app"];
NSPoint point = { 0, 0 };
[image compositeToPoint:point operation:NSCompositeCopy];
}
Application Kit - NSWorkspace
アプリケーションを起動する
Keywords: launchApplication
プログラム中からアプリケーションを起動するには、NSWroksapce の launchApplication: を使えば、一発で起動できる。
Application Kit/NSWorkspace.h
- (BOOL)launchApplication:(NSString *)appName;
appName にアプリの名前を指定するんだ。フルパスで指定してもよし。アプリの名前だけでもよし。.app を付けてもよし、付けなくてもよし。起動に成功すれば YES を返すよ。
LaunchApp.m (sample)
{
...
[[NSWorkspace sharedWorkspace]
launchApplication:@"Sherlock"];
}
というわけ。
|