【发布时间】:2012-12-30 23:42:09
【问题描述】:
我编译了一个名为 MyBundle.bundle 的 Mac OSX 包,它用作另一个应用程序的插件。我希望捆绑包有一个唯一的图标,所以我将 Info.plist 文件设置为:
<key>CFBundleIconFile</key>
<string>MyIcon.icns</string>
并将文件 MyIcon.icns 放在包的 MyBundle.bundle/Contents/Resources 文件夹中。
这不起作用,查找器显示包的通用图标并忽略指定的 MyIcon.icns 文件。如果我将包的扩展名从 .bundle 更改为 .app,图标会立即显示 - 所以我知道 Info.plist 是正确的。
我发现了一种解决方法,可以模拟用户在捆绑包上复制和粘贴图标:
我将图标作为“icns”类型和 id -16455 的资源添加到包的 .rsrc 文件中。
我比打电话
/Developer/Tools/SetFile -a BC MyBundle.bundle
这行得通,但真的很蹩脚。从 Mac OS 10.8 开始,SetFile 需要永远执行。
我的问题:是否可以强制 Finder 显示捆绑包的图标而无需此类 hack?
顺便说一句:有一个关于同一主题的问题:Set icon of non app mac os x bundle;但是那里唯一的答案是关于如何创建图标的说明,并且对解决问题没有帮助。
【问题讨论】:
-
你能发布一个捆绑目录的“ls -lR”吗?