如何为OSX注册自定义非文档UTI /文件类型以识别它?

时间:2012-09-28 08:24:45

标签: macos osx-mountain-lion uti

我已经阅读了有关此问题的所有门票,但我仍然没有把它弄好。我有一个非文档OSX应用程序(适用于OSX Lion和MountainLion)。我希望此应用程序导出和导入与自定义文件扩展名“.iobs”相关联的自定义数据。在内部,这些文件只是使用[NSKeyedArchiver archivedDataWithRootObject:]存档的数据,并使用“iobs”扩展名保存到磁盘上。

所以,我的清单是这样的:

1)出口机制:检查。我的应用程序正确创建.iobs文件。如果我运行“file< filename.iobs>”在终端,我得到“iObserve_exportedItems.iobs:Apple二进制属性列表”

2)检查导出的UTI的声明。如下图所示。我没有声明自定义文档类型,因为我从来没有在我的应用程序中使用NSDocument,没有任何意义。无论如何,我已经尝试过但失败了。我也试过了“Conforms To”条目的不同组合,但没有成功。

Snapshot of Xcode4 exported custom UTI declaration

3)有没有第三点?我是否需要启动应用程序以让系统知道?我到目前为止只是在Xcode的Debug中运行它,这没有任何效果。所以我猜我的Info.plist是错误的,但我从Xcode4界面填充它,所以???

感谢您提供任何帮助,提示,问题和建议。

1 个答案:

答案 0 :(得分:15)

好吧,显然,即使我没有指定文档类,我也必须声明文档类型。请参阅附带的屏幕截图请注意,仅保留Document UTI不起作用。我确实需要这两个(导出的UTI和文档类型)。另请注意,如果我说它符合com.apple.binary-property-list,我没有正确的图标。

对于那些想知道的人来说,除了启动应用程序之外,没有什么可以“注册”一个类型(及其后续更改)。

enter image description here