iOS/iPadOS 中的 SwiftUI + DocumentGroup:如何重命名当前打开的文档

Vit*_*nes 7 ios swiftui ipados documentgroup

我的问题是关于 SwiftUI 的 DocumentGroup:在 Xcode 中使用一个简单的、基于模板的项目(使用新的多平台、基于文档的应用程序模板),我可以创建新文档、编辑它们等。此外,在应用程序“外部” ,我可以这样操作文档文件 - 移动它、复制它、重命名它等等。

默认情况下,所有新文档都以“Untitled”名称初始化;在主应用程序入口点,我可以访问文件的 URL:

var body: some Scene {
    DocumentGroup(newDocument: ShowPLAYrDocument()) { file in
        // For example, this gives back the actual doc file URL:
        let theURL = file.fileURL
        ContentView(document: file.$document)
    }
}
Run Code Online (Sandbox Code Playgroud)

第一个问题:一旦文档“打开”,即当代码在 的范围内运行时,如何编辑/更改实际文件名 ContentViewSwiftUI 文档的缺乏使得寻找此类问题的答案变得非常困难 - 我想我已经搜索了整个互联网,但似乎没有人遇到此类问题,即使他们遇到了,他们发布的问题也没有答案- 我自己就其他问题提出了几个问题,甚至没有得到任何评论,更不用说答案了。

我还有另一个问题,我认为有些相关:例如,我在“文件”应用程序中看到,某些文件类型在选择时可以在该文件的“信息”窗格下显示其他扩展信息(例如:视频文件显示像素尺寸、持续时间和编解码器信息);我的应用程序的文档包含几个值(在保存的数据内),我希望用户能够在文档选择器中“浏览”这些值,而无需打开文件本身,其方式与文件应用程序中所述的类似。

我的第二个问题是:这可能吗?如果可以,我至少可以从哪里开始寻找答案?我的猜测是,这对于 SwiftUI 目前来说是“不可能”的,所以它必须与“常规”Swift 集成?

预先感谢您的任何指导。

Vit*_*nes 0

上述“解决方案”遇到的问题与修改器的(已确认的)错误有关.fileImporter- 所以,这个“有效”,尽管很hacky。