使用 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),但我不太确定从哪里开始查找!因此,当在 FinderWindows 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)添加到文件中的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa:在运行时添加另一个停靠图标

如何在cocoa中模拟mac媒体密钥

如何将动画图标添加到 OS X 状态栏?

Trunk链路的配置

切换 XIB 视图 - Cocoa Mac

如何在 Xcode 中设置 Mac 应用程序的图标?