gpt4 book ai didi

macos - 允许基于文档的应用程序中“打开”面板中的任何类型

转载 作者:行者123 更新时间:2023-12-03 17:58:56 25 4
gpt4 key购买 nike

我正在编写一个基于文档的 Mac 应用程序,可以打开任何类型。我的应用程序成功接收到其 Dock 磁贴上的任何类型的拖放文件,但是当我从"file"菜单中选择“打开”时,所有文件都会显示为灰色。

这是模板自带的标准Open item;我没有在它后面添加任何特别的东西。

这是我的 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>

我有一个自定义文档 Controller ;这是它的实现。

- (Class) documentClassForType:(NSString *)documentTypeName {
return [MyDocument class];
}

- (NSString *) typeForContentsOfURL:(NSURL *)inAbsoluteURL error:(NSError **)outError {
return @"Any file";
}

除非我将文件拖放到 Dock 磁贴上,否则任何时候都不会调用这些方法。

最佳答案

在您的 NSDocumentController 子类中,重写 runModalOpenPanel:forTypes: 并为 types 数组调用 super 并使用 nil 。这将启用 NSOpenPanel 中的所有文件名。

关于macos - 允许基于文档的应用程序中“打开”面板中的任何类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9509665/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com