参考文件文档和文档范围的书签

问题描述

背景 我正在编写一个应用程序,允许用户选择文件夹,然后扫描它们以查找文件。该文件夹可以在用户的​​机器、iCloud 或外部存储上。该应用程序将这些文件和源文件夹的详细信息保存到文档中,以便用户可以访问这些文件并在将来重新扫描源文件夹。该应用程序是使用适用于 MacOS 和 iPad 的 SwiftUI 框架编写的。

问题 鉴于这是一个沙盒应用程序,我需要创建安全范围的书签才能访问已保存到文档的文件夹。我有两个问题:

  1. 如何在使用 ReferenceFileDocument 协议时创建文档范围的书签。我需要文档的 URL,但我永远无法访问它。我想在实现 fileWrapper 函数时实现这样的东西(裸骨示例):
func fileWrapper(snapshot: MyDocument,configuration: WriteConfiguration) throws -> FileWrapper {
:
// Other code
:
let bookmarkDataToPersist = snapshort.someFileURL.bookmarkData(options: .withSecurityScope,includingResourceValuesForKeys: nil,relativeto: documentURL)
:
// Other code to add bookmarkDataToPersist to fileWrapper
}
  1. 理想情况下,用户将能够:
  • 将外部驱动器连接到他们的 Mac
  • 选择该驱动器上的文件
  • 保存文档,这会将书签保存到该文件夹​​的 URL 中
  • 将文档发送到 iPad(通过电子邮件或 iCloud 驱动器)
  • 使用 iPad 版应用打开文档
  • 将外部书签连接到 iPad
  • 文件夹中重新扫描文档中标记为书籍的文件

但是考虑到 1) 中的问题以及文档书签不能指向文件夹的事实,有没有办法?

非常欢迎任何想法或建议。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...