HMDT - Logic and Intuition -

about HMDT

Cocoa Programming Tips 1001

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"];
}

back to top content

Copyright © 2002-2006 HMDT. All rights reserved.