创建可以打开给定格式文件的应用程序

Bri*_*tow 5 macos file-type objective-c plist

我有一个用 Obj-C 编写的应用程序。info.plist 包含应用程序可以打开的文件类型列表。我非常确定这是有效的,因为当我尝试拖动不可接受类型的文件时,应用程序不会突出显示,但是当我拖动可接受类型的文件时,它会突出显示,并让我放下。

当我放下时,应用程序会正确启动,但是,然后我会收到一个对话框:

无法打开文档“foo.tiff”。DocView 无法打开“TIFF 文件”格式的文件。

我的 info.plist 中有这个

<key>CFBundleTypeExtensions</key>
<array>
   <string>tif</string>
   <string>tiff</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>TIFFFile.icns</string>
<key>CFBundleTypeName</key>
<string>TIFF File</string>
<key>CFBundleTypeOSTypes</key>
<array>
   <string>TIFF</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Documents/</string>
Run Code Online (Sandbox Code Playgroud)

谢谢。

wal*_*lky 5

您的应用程序实际上处理文件打开吗?

如果是NSDocument应用程序,则需要实现其中一种文件读取方法,例如readFromData:ofType:error:. 在普通的 NSApplication 中,您的应用程序委托应该在application:openFile:. 在这两种情况下,您都需要返回YES以确认您已成功打开文件。

如果您已实现此功能,是否会发送消息?