Geometry 関数
NSBundle
NSDictionary
NSFileManager
NSMutableAttributedString
NSNumber
NSScanner
NSString
NSTimer
Graphic 関数
NSApplication
NSBezierPath
NSCell
NSColor
NSCursor
NSCustomImageRep
NSDocument
NSDocumentController
NSDragging
NSEvent
NSFontManager
NSGraphicsContext
NSImage
NSMenu
NSOutlineView
NSPanel
NSPopUpButton
NSResponder
NSScrollView
NSString 追加
NSTableColumn
NSTableView
NSTextStorage
NSTextView
NSToolbar
NSView
NSWindow
NSWorkspace
-アイコンを取得する
-アプリケーションを起動する
その他
.nib ウィンドウ
Views パレット
クラス
インスタンス変数
メソッド
CFXML
Carbon Event
Carbon Graphics
Cocoa で日本語
メソッド
その他

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

というわけ。



[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論] [panther-dev]

mailto: mkino@xd5.so-net.ne.jp