2

我的 MacOS 程序正在为另一个文件创建别名,我希望这个别名有一些指定的图标。我怎么能用 Objective-C 来做呢,最好是在 Cocoa 中?

4

1 回答 1

5

您可以使用NSWorkspace,它有一种方法可以做到这一点:

//anImage is an NSImage object and
//pathToFile is a path string
[[NSWorkspace sharedWorkspace] setIcon:anImage forFile:pathToFile options:0];

这会将图标数据保存到文件的资源叉中。如今,Mac OS 不使用实际的资源分叉,因此图像存储在名为com.apple.ResourceFork.

扩展属性是附加到文件的文件系统元数据。xattr您可以使用相关命令查看附加到文件的扩展属性。

请注意,扩展属性仅保证在 HFS+ 文件系统上可靠,如果文件位于不支持文件元数据的文件服务器或具有非 HFS 文件系统的外部驱动器上,则可能不会写入图标.

于 2012-04-30T09:11:15.517 回答