0

我正在使用 MacbookPro M1 Pro 上的 Xcode 13.1 在 MacOS 12.0.1 上使用 SwitfUI 开发基于 MacOS 文档的应用程序。我遇到了一个问题,即应用程序总是在最后使用的目录中重新打开文档浏览器。当它在机器上时这是可以的,但如果最后一次使用是在网络驱动器上,那会很痛苦。我正在尝试找到一种方法来抑制这种“始终使用最后一个目录还原”操作模式。

我尝试使用@NSApplicationDelegateAdaptor 方法并实施;

  func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
    print(#function + " returning false")
    return false
  }

在我的 NSApplicationDelegate 类中,它确实被调用(尽管有时似乎在显示对话框之后),但这并不能阻止应用程序偷偷记住最后一个目录。

有谁知道这些信息可能隐藏在哪里或者是否可以隐藏?

我已经寻找但找不到将起始目录注入 DocumentGroup 作为可能的解决方案的方法。

蒂亚艾伦。

4

1 回答 1

0

好的,对于最终在这里寻找类似问题的任何人。

经过大量挖掘后,我找到了答案,对我来说,是添加

    UserDefaults.standard.removeObject(forKey: "NSNavLastRootDirectory")

进入应用程序启动。也有人建议这样做

UserDefaults.standard.removeObject(forKey: "NSNavLastCurrentDirectory")

但是,仅执行第一个似乎会抑制文件打开对话框,同时执行这两种操作都会导致文件打开对话框与用户 Documents 目录一起打开。

于 2021-11-26T23:48:27.353 回答