问题描述
背景 我正在编写一个应用程序,允许用户选择文件夹,然后扫描它们以查找文件。该文件夹可以在用户的机器、iCloud 或外部存储上。该应用程序将这些文件和源文件夹的详细信息保存到文档中,以便用户可以访问这些文件并在将来重新扫描源文件夹。该应用程序是使用适用于 MacOS 和 iPad 的 SwiftUI 框架编写的。
问题 鉴于这是一个沙盒应用程序,我需要创建安全范围的书签才能访问已保存到文档的文件夹。我有两个问题:
- 如何在使用 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 }
- 理想情况下,用户将能够:
- 将外部驱动器连接到他们的 Mac
- 选择该驱动器上的文件夹
- 保存文档,这会将书签保存到该文件夹的 URL 中
- 将文档发送到 iPad(通过电子邮件或 iCloud 驱动器)
- 使用 iPad 版应用打开文档
- 将外部书签连接到 iPad
- 从文件夹中重新扫描文档中标记为书籍的文件夹
但是考虑到 1) 中的问题以及文档书签不能指向文件夹的事实,有没有办法?
非常欢迎任何想法或建议。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)