1

我有一个可加载的捆绑包;不是应用程序。我将 icns 文件存储在 Resource 目录中,并且 Info.plist 具有 CFBundleIconFile 的正确条目。我怎么知道?我在测试应用程序上使用了相同的技术和不同的图标。我什至重建了“lsregister”。10.6.x 或 10.7.x 都不会在 Finder 中显示图标。

我已经使用复制/粘贴到“获取信息”图标中更改了 Finder 中的图标。这会生成一个隐藏文件,其中包含一个名为 Icon^M 的资源分支。

问题:1)有没有办法让图标出现在可加载的包中?2) 是否有外壳程序或方法可以以编程方式更改“获取信息”图标?

4

1 回答 1

0

解决方案在于 NSWorkspace 类的 -iconForFile 方法。我构建了一个命令行工具来获取我需要的图像并使用上述方法设置图标。

[[NSWorkspace sharedWorkspace] setIcon:content forFile:targetFile options: NSExclude10_4ElementsIconCreationOption ];

其中 content 是图标的 NSImage 内容,targetFile 是目标包的路径。

于 2012-06-12T19:13:32.787 回答