macos - 操作系统: Associate particular folders with the application I'm developing

标签 macos cocoa file-association uti

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

我已经能够通过为文件夹提供扩展名并设置应用程序的 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/

相关文章:

objective-c - 开发 Mac 实用程序来改变屏幕显示/输出

java - 如何在前台启动文件?

macos - 您如何在使用 pkgbuild/productbuild 构建的 OS X 安装程序中询问用户问题?

objective-c - 在 View Controller 和 OS X 之间转换

swift - 由于不推荐使用 LSSharedFileList,是否可以添加到 Finder 边栏?

objective-c - 不使用 Interface Builder 创建 OpenGL View

visual-studio-2010 - 如何防止 Visual Studio 2010 劫持我的文件关联?

c - Mac OS/X 上的 C 程序如何得知用户双击打开了关联的文件?

macos - 如何在 OSX 中使用 sed 将每个单词的首字母大写

swift - 如何在 MacOS 应用程序中执行 Apple Finder -> 文件信息 -> 添加标签功能?