使用 Cocoa 将图标(mac 和 pc)添加到文件中
Posted
技术标签:
【中文标题】使用 Cocoa 将图标(mac 和 pc)添加到文件中【英文标题】:Add an icon (mac & pc) to a file with Cocoa 【发布时间】:2010-07-05 17:10:16 【问题描述】:我想在我的 iPhone 应用程序中的文件中添加一个图标(icns 和 ico),但我不太确定从哪里开始查找!因此,当在 Finder 或 Windows Explorer 中查看此文件时,它将有一个自定义图标。
谁能指出我正确的方向?
【问题讨论】:
【参考方案1】:如果您想在 Mac OS X 中更改文件或文件夹的图标,可以在 NSWorkspace 上使用 -setIcon:forFile:options: 方法。
【讨论】:
...这是正确的答案!对于 OSX,任何长度。谢谢!【参考方案2】:我没有 Windows 资源管理器的答案。对于 MacOS,文件的自定义图标存储在文件的资源分支中,名称为 kIconFamilyType
,id 为 kCustomIconResource
。文件夹的自定义图标存储在文件夹中名为 Icon\r
(\r 表示 mac 换行符)的文件中。对于卷,自定义图标位于卷根的 .VolumeIcon.icns
文件中。在每种情况下,您都必须为该项目设置kHasCustomIcon
Finder 标志。
Cocoa 不允许您访问资源分支或 Finder 标志。使用 FSSetCatalogInfo 设置 Finder 标志。使用 FSCreateResourceFork、AddResource 和 CloseResFile 将自定义图标系列添加到文件中。文件夹中的自定义图标文件使用相同的资源分支调用。
设置图标的常用方法是从 Get Info Finder 窗口将其粘贴,或向 Finder 发送苹果事件。您可以从 cocoa 发送苹果事件,但这对 iPhone 没有帮助。
要在具有资源分支的 iPhone 上创建文件,您可能必须构建一个 zip 存档,以便在解压缩时创建一个资源分支。您必须围绕图标系列数据手动构建资源分支包装器。资源分支结构有据可查。
在 MacOS 上拥有一个帮助应用程序可能会更容易。
【讨论】:
“在 MacOS 上拥有一个帮助应用程序可能会更容易。”或者 Quick Look 导入器,如果目标是预览“图标”。 Quick Look 导入器插件可以生成更好的预览,而不仅限于缩略图。以上是关于使用 Cocoa 将图标(mac 和 pc)添加到文件中的主要内容,如果未能解决你的问题,请参考以下文章