Xcode &引用;“虚拟文件”;在OSX Finder中,只有在我的应用程序运行时才会出现,可能吗?

Xcode &引用;“虚拟文件”;在OSX Finder中,只有在我的应用程序运行时才会出现,可能吗?,xcode,cocoa,osx-mountain-lion,finder,Xcode,Cocoa,Osx Mountain Lion,Finder,有没有办法“钩住”OSX Finder以执行以下操作: 当我的应用程序启动时,用户在查找器中看到一个由我的应用程序创建的文件夹。在该文件夹中,用户可以看到多个文件夹中的文件…用户在我的应用程序中指定的多个文件夹中的多个文件的统一视图。 因此,在这个“统一文件夹”中不是真实的文件,它们仍然在原始文件夹中,但是用户在这个文件夹中看到它们,就好像在这个新文件夹中有他的所有真实文件一样。因此不涉及复制或移动 老实说,我不知道这是否可能,也不知道我应该在Cocoa SDK中寻找什么。也许有一个API用于查

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

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

老实说,我不知道这是否可能,也不知道我应该在Cocoa SDK中寻找什么。也许有一个API用于查找器本身或其他方式

问候


twickl

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

如果你不喜欢图标上的徽章,创建硬链接可能会满足你的需求

Mac OS X提供了HFS+(Mac)文件系统的视图,该文件系统与UFS(Unix)文件系统相匹配,您可以访问硬链接和符号链接。查找器将后者视为类似于别名,但前者与原始文件无法区分,因为它们是原始文件-在Unix文件系统下,目录中的文件只是对真实文件的引用(索引节点号),目录中的每个条目只是指向实际文件的硬链接,一个文件可以有任意数量的硬链接(当链接数下降到0时,文件会被删除,如果有帮助的话,可以考虑保留/发布模型)


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

谢谢您的回答,这听起来正是我想要的。然而,有一个小问题:你知道苹果的沙箱是否会成为一个问题吗?它会拒绝从用户目录中的文件创建硬链接吗?如果您对源和目标具有适当的权限,它似乎不应该被禁止;但要知道沙盒在任何特定版本的OSX中会做什么,唯一的方法就是尝试一下。