【发布时间】:2010-11-06 23:09:33
【问题描述】:
我目前正在处理一个项目,虽然我可以通过添加到 com.apple.sidebarlists.plist 文件然后重新启动 Finder 来添加侧边栏项目,但我似乎不知道如何使用它来显示文件夹图标分配的自定义图标。
谁能给我一个链接或解决方案,让我这样做?提前致谢!
【问题讨论】:
标签: objective-c cocoa sidebar finder
我目前正在处理一个项目,虽然我可以通过添加到 com.apple.sidebarlists.plist 文件然后重新启动 Finder 来添加侧边栏项目,但我似乎不知道如何使用它来显示文件夹图标分配的自定义图标。
谁能给我一个链接或解决方案,让我这样做?提前致谢!
【问题讨论】:
标签: objective-c cocoa sidebar finder
不支持使用纯 Cocoa 执行此操作的方法。请改用 LSSharedFileList API。这是管理侧边栏列表的受支持方式,您可以在插入项目时提供自定义图标(作为图标服务中的 IconRef)。
【讨论】:
我不知道这些图标,但我使用 EBLaunchServices 包装器将项目添加到侧边栏,该包装器可在此处开源:
https://github.com/Eric-Bro/EBLaunchServices
它非常易于使用。例如,将已安装的 OSXFUSE 卷添加到您调用的侧边栏:
NSURL* volumeUrl = [NSURL fileURLWithPath:@"/Volumes/MyVolume"];
[EBLaunchServices addItemWithURL:volumeUrl toList:kLSSharedFileListFavoriteVolumes];
【讨论】:
我太固执了,不能做显而易见的事。我做到了:
[[NSWokspace sharedWorkspace] setIcon:someIcon forFile:someFile options:0];
设置文件夹的图像图标。从那时起,我做了com.apple.sidebarlists.plist NSUserDefaults 附加,并通过Apple Events 重新启动了Finder。一切顺利。
【讨论】: