Skip to main content
 首页 » 操作系统

macos之NSOpenPanel 不允许打开应用程序包

2024年01月01日65zengkefu

我现在真的尝试了所有方法,但我无法让 NSOpenPanel 允许选择应用程序包。我需要它在我的应用程序中成为可能,让用户选择应用程序包的路径。我的代码如下所示:

      var fileDialog:NSOpenPanel = NSOpenPanel() 
 
    fileDialog.prompt = "Select App Bundle" 
    fileDialog.canChooseDirectories = false 
    fileDialog.canChooseFiles = false 
    fileDialog.allowedFileTypes = ["app","APP"] 
    fileDialog.treatsFilePackagesAsDirectories = false 
 
    if(fileDialog.runModal() == NSFileHandlingPanelOKButton) 
    { 
        bundlePath?.setValue(fileDialog.URL?.absoluteString!) 
    } 

其他一切都按预期工作,但所有应用程序包都显示为灰色且不可选择。我还尝试将 treatsFilePackagesAsDirectories 设置为 true。然后我可以选择它们,但它们只会在 NSOpenPanel 中打开并显示内容而不是选择路径。

也许这里有人给我提示?

谢谢 汤姆

请您参考如下方法:

尝试将 canChooseDirectories 和 treatsFilePackagesAsDirectories 更改为 true:

fileDialog.canChooseDirectories = true 
fileDialog.treatsFilePackagesAsDirectories = true