使用Cocoa将图标(mac& pc)添加到文件中

时间:2010-07-05 17:10:16

标签: objective-c cocoa ios

我想在我的iPhone应用程序中为文件添加一个图标(icns& ico),我不太清楚从哪里开始查看!因此,当在 Finder Windows资源管理器中查看此文件时,它将具有自定义图标。

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:6)

如果要在Mac OS X中更改文件或文件夹的图标,可以在NSWorkspace上使用-setIcon:forFile:options:方法。

答案 1 :(得分:2)

我对Windows资源管理器没有答案。对于MacOS,文件的自定义图标存储在文件的资源分支中kIconFamilyType,标识为kCustomIconResource。文件夹的自定义图标存储在文件夹中名为Icon\r(\ r表示mac换行符)的文件中。对于卷,自定义图标位于卷根目录的.VolumeIcon.icns文件中。在每种情况下,您都必须为项目设置kHasCustomIcon Finder标志。

Cocoa不允许您访问资源派生或Finder标志。使用FSSetCatalogInfo设置Finder标志。使用FSCreateResourceFork,AddResource和CloseResFile将自定义图标族添加到文件中。相同的资源fork调用用于文件夹中的自定义图标文件。

设置图标的常用方法是从“获取信息查找器”窗口粘贴它,或者向Finder发送苹果事件。你可以从cocoa发送苹果事件,但这对iPhone没有帮助。

要在具有资源分支的iPhone上创建文件,您可能必须构建一个zip解压缩文件,以便在解压缩时创建资源分支。您必须围绕图标族数据手动构建资源fork包装器。资源分叉结构已有详细记录。

在MacOS上安装帮助应用程序可能会更容易。