LSSharedFileList InsertItem URL无法将图标分配给10.7及更早版本中的Finder侧栏项

时间:2012-09-06 23:29:11

标签: objective-c macos cocoa

我正在尝试在Finder侧栏中添加指向文件夹的链接。它适用于其他所有操作系统,但是当我尝试在Mac OS X 10.7或Mac OS X 10.8中将此图标添加到此项目时,没有任何反应。但是,在10.6中,我的代码效果很好。

CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:self.syncFolderPath]; 
IconRef iconRef;
FSRef fref;

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

// Create a reference to the shared file list.
LSSharedFileListRef favoriteItems = LSSharedFileListCreate(NULL, kLSSharedFileListFavoriteItems, NULL);

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

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

CFRelease(favoriteItems);

有人可以给我建议吗?我的代码出了什么问题?

0 个答案:

没有答案