Я пишу основанное на документе приложение 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.