将文件类型/扩展名关联到非基于文档的Cocoa应用程序

11

这个问题很难找到并解决。找不到任何相关的文档。 我有一个非基于文档的应用程序,我想打开所有特定的文件类型,但我不想使用NSDocuments,而是让我的代码处理文件的打开和处理。我已经将CFBundleTypeExtensions和所有设置添加到info.plist中。

现在应用程序会打开文件类型,但会显示错误消息:"无法打开xxxx文档。应用程序无法打开yyyyy格式的文件。"

1个回答

16

你在应用程序委托中是否已经实现了-application:openFile:方法?如果没有,那么你的应用程序将无法知道如何打开某个随机格式的文件。你需要添加这个功能并根据成功或失败进行响应。


抱歉,我的意思是其他的事情。 当用户双击文件扩展名(在CFBundleTypeExtensions中配置)时,我的应用程序应正确处理请求。但是不使用NSDocument。 - Ger Teunis
你说你的应用程序会在双击文件时打开(我假设是这样),但会抱怨文档无法打开。在非基于文档的应用程序中,这需要您拥有一个对象作为应用程序代理并回答-application:openFile:以执行正确的操作。你做到了吗? - Joshua Nozzi
啊,原来真的是这么简单。这就是答案。我完全看错了地方。谢谢。 - Ger Teunis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接