gpt4 book ai didi

macos - NSOpenPanel/NSSavePanel 在 Swift 3 中崩溃

转载 作者:行者123 更新时间:2023-12-04 09:57:20 28 4
gpt4 key购买 nike

在 Swift 3/Xcode8.1/10.12.2 中,我尝试使用 NSOpenPanel 获取具有以下代码的文本文件,由 DenBeke 编写

@IBAction func browseFile(sender: AnyObject) {

let dialog = NSOpenPanel();

dialog.title = "Choose a .txt file";
dialog.allowedFileTypes = ["txt"];

if (dialog.runModal() == NSModalResponseOK)
{
let result = dialog.url // Pathname of the file

if (result != nil) {
let path = result!.path
print("browseFile path: \(path)")
//filename_field.stringValue = path
}
} else {
// User clicked on "Cancel"
return
}
}

代码按预期打开一个打开的对话框,我可以选择一个文件。单击打开按钮会使应用程序崩溃。在控制台中我得到:

FI_TFloatingInputWindowController object 0x60800009c0c0 overreleased while already deallocating; break on objc_overrelease_during_dealloc_error to debug



当我运行代码并打开对话框时,在控制台中我得到

[default] [ERROR] Failed getting container for URL: file:///Users/ruediheimlicher/Documents/LoggerdataDir/Messungen/, error: Error Domain=BRCloudDocsErrorDomain Code=12 "App library not found: 'com.apple.Documents'" UserInfo={NSDescription=App library not found: 'com.apple.Documents'}



但这不会影响应用程序。

网络上有更多 NSOpen 或 NSSave 对话框的示例,代码略有不同,但每个人都得到相同的结果:崩溃,控制台上出现完全相同的错误。

我的代码尝试中是否有错误,甚至是一个适用于 Swift3/sierra 的示例?

最佳答案

<Your Project> -> <Your Target> -> Capabilities -> App Sandbox -> File Access -> User Selected File 下授予您的应用访问用户选择的文件的权限.

User Selected File Permission

关于macos - NSOpenPanel/NSSavePanel 在 Swift 3 中崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41349781/

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