OSX:将特定文件夹与我正在开发的应用程序相关联

时间:2012-03-04 14:22:31

标签: macos cocoa file-association uti

我需要将特定文件夹与我的应用程序相关联,以便通过双击该文件夹来启动应用程序,就像它是一个包文件夹一样。 这些文件夹甚至应该有自己的图标。

我已经能够通过为文件夹提供扩展并设置应用程序的Info.plist文件的文档类型部分来实现此目的。

不幸的是,我不想在文件夹中添加扩展名,我想将常规文件夹与我的应用程序相关联。确切地说,我想关联包含名为“Subfolder”的子文件夹的每个文件夹(例如)。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

您不应该这样做(从用户体验的角度来看)并且您不能这样做(从技术角度来看,除非您考虑修补Finder的选项)。

你到底想要实现什么目标?创建包/包并隐藏路径扩展是否有效?您可以通过NSFileManager

执行此操作
NSString *path = …;
NSDictionary *attributes = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:NSFileExtensionHidden];
NSError *error = nil;
[[NSFileManager defaultManager] setAttributes:attributes ofItemAtPath:path error:&error];

要将现有文件夹与您的应用相关联,您可以重命名该文件夹,以使您的包文件类型为路径扩展名。