如果您必须使用文件夹的自定义图标,您如何以编程方式将文件夹图标放在Finder侧边栏上?

时间:2009-06-30 10:11:08

标签: objective-c cocoa sidebar finder

我目前正在开发一个项目,虽然我可以通过添加到com.apple.sidebarlists.plist文件然后重新启动Finder来添加侧边栏项目,但我似乎无法知道如何使用它来显示文件夹图标分配了自定义图标。

有人能指出一个链接或解决方案,让我这样做吗?提前一堆谢谢!

3 个答案:

答案 0 :(得分:7)

使用纯Cocoa没有支持的方法。请改用LSSharedFileList API。这是管理侧边栏列表的受支持方式,您可以在插入项目时提供自定义图标(作为Icon Services的IconRef)。

答案 1 :(得分:1)

我不知道这些图标,但我使用EBLaunchServices包装器在侧边栏中添加了项目,这些包装器在这里是开源的:

https://github.com/Eric-Bro/EBLaunchServices

它非常易于使用。例如,要将已安装的OSXFUSE卷添加到您调用的侧栏:

NSURL* volumeUrl = [NSURL fileURLWithPath:@"/Volumes/MyVolume"];
[EBLaunchServices addItemWithURL:volumeUrl toList:kLSSharedFileListFavoriteVolumes];

答案 2 :(得分:0)

我太顽固了,不能做那么明显的事。我做了:

[[NSWokspace sharedWorkspace] setIcon:someIcon forFile:someFile options:0];

设置文件夹的图像图标。从那时起,我做了com.apple.sidebarlists.plist NSUserDefaults追加,并通过Apple Events重新启动了Finder。这一切都奏效了。

相关问题