在Cocoa NSDocument应用程序中处理**** OSType

时间:2012-02-22 09:37:50

标签: macos cocoa nsdocument

我编写了一个编辑器,希望能够处理任何文件,包括那些没有扩展名的文件。

我认为我需要将****添加到Info.plist中我的文件类型条目中的文档操作系统类型,但是这允许我将任何文件拖到停靠栏图标,它不会尝试使用关联的NSDocument类打开文件,而不是告诉我我的应用程序不知道如何打开“SimpleText格式”格式。

对于我在这里错过的步骤的任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您需要实现自定义NSDocumentController子类并覆盖typeForContentsOfURL:error:方法,并在应用程序的CFBundleTypeName文件中返回由Info.plist指定的文档类型的名称< / p>

为了使应用程序使用您的自定义NSDocumentController,只需将通用对象拖到您的MainMenu.xib文件中,并将其指定为文档控制器的类。然后,文档体系结构将自动使用文档控制器子类而不是通用NSDocumentController

答案 1 :(得分:0)

最终通过创建第二个文档类型解决了这个问题,该文档类型链接到扩展框中带有*的同一个nsdocument子类。