gpt4 book ai didi

ios - iOS13 模拟器上的 UIDocumentBrowserViewController 错误 "Cannot create urlWrapper for url"

转载 作者:行者123 更新时间:2023-12-01 22:59:06 24 4
gpt4 key购买 nike

在 iOS 13 上测试时,UIDocumentBrowserViewController 遇到了一个非常奇怪的问题。importHandler(newDocumentURL, .move) 似乎无缘无故地崩溃了:

[DocumentManager] Cannot create urlWrapper for url file:///.../tmp/23720D22-BC1D-4E7B-A7AE-A1C8B0293F9E.txt. 
error Error Domain=NSPOSIXErrorDomain Code=22 "couldn't issue sandbox extension com.apple.app-sandbox.read-write for '/.../tmp/23720D22-BC1D-4E7B-A7AE-A1C8B0293F9E.txt':
Invalid argument" UserInfo={NSDescription=couldn't issue sandbox extension com.apple.app-sandbox.read-write for '/.../tmp/23720D22-BC1D-4E7B-A7AE-A1C8B0293F9E.txt': Invalid argument}.

以下是重现的两步过程:

  • 创建一个新的 Xcode 项目“基于文档的应用程序”
  • documentBrowser(_: , didRequestDocumentCreationWithHandler:) 中键入此代码

    let newDocumentURL: URL? =
    URL(fileURLWithPath: NSTemporaryDirectory())
    .appendingPathComponent(UUID().uuidString)
    .appendingPathExtension("txt")

    // Set the URL for the new document here. Optionally, you can present a template chooser before calling the importHandler.
    // Make sure the importHandler is always called, even if the user cancels the creation request.
    if newDocumentURL != nil {
    print(newDocumentURL!)
    try! "My file content".write(to: newDocumentURL!, atomically: true, encoding: .utf8)
    importHandler(newDocumentURL, .move)
    } else {
    importHandler(nil, .none)
    }

在 iOS 13 模拟器上启动它,创建一个新文档,错误会被打印出来,并且不会发生任何其他事情。

如果您在 iOS 12 上执行相同的代码,它会完美运行,文件将被移动并由应用程序打开。

无论是 Xcode 11 beta 7 还是 Xcode 10.3 编译,iOS 13 beta 7 上都会出现该问题

有什么想法吗?

编辑:当您在文档目录而不是临时目录中创建文件时,仍然会出现问题:

FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]

编辑2:Xcode 11 GM (11A419c) 仍然存在问题

编辑3:问题仅存在于模拟器中。在装有 iOS 13 GM 的设备上,UIDocumentBrowserViewController 按预期工作。

编辑 4:使用官方 Xcode 11 版本 11A420a(又名 GM Seed 2)的模拟器上仍然存在问题。

编辑 5:问题仅发生在 Mojave 上,而 Catalina 上似乎不存在

最佳答案

我已验证在 Mac OS Mojave 上运行的 Xcode 11.1 GM 存在该错误。

在 Catalina Beta 9 上运行时不会出现此问题。(FWIW 我在 Parallels 虚拟机中运行 Catalina Beta 9,因为我不知道它是否足够稳定,可以升级到生产工作。)

正在寻找解决方法,如果找到任何解决方法,我会发布(但请注意,这不是我的专业领域,只是根据预感进行操作,结果证明是正确的。)

您可能需要更新您提交的雷达,以表明这可能是 Mojave 特有的。

关于ios - iOS13 模拟器上的 UIDocumentBrowserViewController 错误 "Cannot create urlWrapper for url",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57807670/

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