我需要将特定文件夹与我的应用程序关联起来,以便通过双击该文件夹来启动应用程序,就好像它是捆绑文件夹一样。 这些文件夹甚至应该有自己的图标。
我已经能够通过为文件夹提供扩展名并设置应用程序的 Info.plist
文件的文档类型部分来实现此目的。
不幸的是,我不想向文件夹添加扩展名,我想将常规文件夹与我的应用程序关联。准确地说,我想关联包含名为“子文件夹”的子文件夹的每个文件夹(例如)。
有办法实现吗?
最佳答案
您不应该这样做(从用户体验的角度来看),也不能这样做(从技术的角度来看,除非您考虑修补 Finder 选项)。
您实际上想要实现什么目标?创建包/ bundle 并隐藏路径扩展是否有效?您可以通过 NSFileManager
来做到这一点:
NSString *path = …;
NSDictionary *attributes = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:NSFileExtensionHidden];
NSError *error = nil;
[[NSFileManager defaultManager] setAttributes:attributes ofItemAtPath:path error:&error];
要将现有文件夹与您的应用关联起来,您可以重命名该文件夹以包含您的包文件类型路径扩展名。
关于macos - 操作系统: Associate particular folders with the application I'm developing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9555616/