更改文件夹的Finder侧栏图标

时间:2013-02-21 13:24:36

标签: objective-c macos finder

有一些像DropBox这样的应用程序在Finder侧边栏中有自己的图标。其他一些应用也这样做了。我找到了将文件夹放在Finder收藏夹中的方法,但我无法更改默认图标。

IconRef iconRef;
    FSRef fref;

    CFURLRef iconURLRef = (CFURLRef)[NSURL fileURLWithPath:@"icon"];
    CFURLGetFSRef(iconURLRef, &fref);
    RegisterIconRefFromFSRef('SSBL', 'ssic', &fref, &iconRef);

    CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:path];
    LSSharedFileListRef favoriteItems = LSSharedFileListCreate(NULL, kLSSharedFileListFavoriteItems, NULL);

    if (favoriteItems) {
        LSSharedFileListItemRef item = LSSharedFileListInsertItemURL(favoriteItems, kLSSharedFileListItemBeforeFirst, NULL, iconRef, url, NULL, NULL);

        if (item){
            CFRelease(item);
        }
    }

    CFRelease(favoriteItems);

没有错误。检查10.7和10.8

1 个答案:

答案 0 :(得分:0)

使用[[NSWorkspace sharedWorkspace] setIcon:folderIcon forFile:lPath options:0];