我正在编写一个可以打开任何类型的基于文档的 Mac 应用程序。我的应用程序在其 Dock 磁贴上成功接收到任何类型的拖放文件,但是当我从“文件”菜单中选择“打开”时,所有文件都显示为灰色。
是模板自带的标准Open项目;我没有在它后面放任何特别的东西。
这是我的 Info.plist 的相关部分:
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFile</key>
<string></string>
<key>CFBundleTypeName</key>
<string>Any file</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSTypeIsPackage</key>
<false/>
<key>NSDocumentClass</key>
<string>MyDocument</string>
</dict>
</array>
我有一个自定义文档控制器;这是它的实现。
- (Class) documentClassForType:(NSString *)documentTypeName {
return [MyDocument class];
}
- (NSString *) typeForContentsOfURL:(NSURL *)inAbsoluteURL error:(NSError **)outError {
return @"Any file";
}
除非我将文件放在 Dock 磁贴上,否则不会随时调用这些方法。