我有一个可加载的包;不是申请。我将icns文件存储在Resource目录中,Info.plist具有CFBundleIconFile的正确条目。我怎么知道?我在测试应用程序上使用了相同的技术和不同的图标。我甚至重建了“lsregister”。 10.6.x或10.7.x都没有在Finder中显示图标。
我已使用复制/粘贴到“获取信息”图标中更改了Finder中的图标。这会生成一个隐藏文件,其中包含名为Icon ^ M的资源分支。
问题: 1)有没有办法让图标出现在可加载的包中? 2)是否有以程序方式更改“获取信息”图标的shell程序或方法?
答案 0 :(得分:0)
解决方案在于NSWorkspace类的-iconForFile方法。我构建了一个命令行工具,获取我需要的图像,并使用上面的方法设置图标。
[[NSWorkspace sharedWorkspace] setIcon:content forFile:targetFile options: NSExclude10_4ElementsIconCreationOption ];
其中content是图标的NSImage内容,targetFile是目标包的路径。