0

有没有办法“挂钩”到 OSX Finder 来执行以下操作:

当我的应用程序启动时,用户会在他的 Finder 中看到一个由我的应用程序创建的文件夹。在此文件夹中,用户可以看到来自多个文件夹的文件...用户在我的应用程序中指定的多个文件夹中的多个文件的统一视图。因此,在这个“统一文件夹”中不是真正的文件,它们仍然在原始文件夹中,但是用户在这个文件夹中看到它们,就好像在这个新文件夹中有他所有的真实文件一样。所以不涉及复制或移动。

老实说,我不知道它是否可能以及我应该在 Cocoa SDK 中寻找什么。也许Finder本身或其他方式有一个API?!

问候

twickl

4

1 回答 1

0

第一个选项是您的应用程序可以为原始文件创建别名。Finder 将在图标上方显示一个小箭头“徽章”,因此很明显它们不是原始文件,而是它们的别名。

如果您不喜欢创建硬链接的图标上的徽章,可能会给您想要的东西。

Mac OS X 提供了与 UFS (Unix) 相匹配的 HFS+ (Mac) 文件系统的视图,您可以访问硬链接和符号链接。后者被 Finder 处理为类似于别名,但前者与原始文件无法区分,因为它们原始文件 - 在 Unix 文件系统下,目录中的文件只是对真实文件的引用( inode编号),每个目录中的条目只是到实际文件的硬链接,文件可以有任意数量的硬链接(当链接计数降至 0 时,文件被删除,如果有帮助,请考虑保留/释放模型) .

在 Cocoa 级别NSFileManager有创建硬链接的方法,或者您可以使用 Unix 级别的link(2)函数。

于 2012-11-06T22:09:52.233 回答