itok's Lab

昔の開発ネタを記録として残してます

アプリ名からアプリアイコンを取得

アプリケーション名からアプリケーションアイコンを取得します。まず、アイコンを取得するには NSWorkspace のこのメソッド。

//NSWorkspace
-(NSImage*) iconForFile:(NSString*)fullPath

これにアプリケーションのフルパスを渡してあげれば大丈夫。じゃあ、フルパスはどうやって得るかっていうと、それも NSWorkspace を使います。

//NSWorkspace
-(NSString*) fullPathForApplication:(NSString*)appName

これらを合わせて、こんな感じ。

NSWorkspace* ws = [NSWorkspace sharedWorkspace];
NSImage* icon = [ws iconForFile:[ws fullPathForApplication:appName]];

アプリケーション名としては ".app" の拡張子があってもなくても大丈夫です。