问题标签 [documentgroup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 让用户在使用 SwiftUI 和 DocumentGroup 时选择要创建的文档类型
我的基于文档的应用程序支持几种不同的文件类型。它目前是用 SwiftUI 编写的,使用UIDocumentBrowserViewController
. 我正在尝试转换为DocumentGroup
您不直接使用 UIDocumentBrowserViewController 的新 SwiftUI (v2) 范例。我需要让用户在点击浏览器中的“创建”按钮时选择要创建的文档类型。使用 DocumentGroup,我看不出这是怎么可能的。创建 DocumentGroup 时,必须在此处指定文档:
使用 UIKit 时,浏览器会调用一个委托函数didRequestDocumentCreationWithHandler
,让应用程序在继续之前注入一些 UI 以选择文档类型。事实上,您可以做的是为文档浏览器提供一个模板文件,用于创建新文档。这在 SwiftUI 2 中可能吗?
swiftui - 如何在不启动文件选择器的情况下制作 SwiftUI DocumentGroup 应用程序?
如果用户使用 Xcode 中的 Document App 模板创建 SwiftUI 应用程序,macOS 会从一个新文档开始。这很好。我可以使用它在新文档中呈现入职 UI。
然而,在 iOS 上运行相同的应用程序时,库存文档视图控制器会向用户致意以创建或选择文档。
这没有帮助,因为我无法提供入职或任何其他自定义信息。
我确实注意到,如果您将 WindowGroup 添加到场景中,应用程序将显示该窗口组。但后来我不知道如何让用户进入选择器 UI。
有没有人想出如何在这个基于 DocumentGroup 的应用程序之上执行诸如呈现入职之类的事情?
这是一个完整的文档应用程序
swiftui - SwiftUI 中“DocumentGroups”的“FileDocument”和“ReferenceFileDocument”有什么区别?
我正在尝试DocumentGroup
在我的应用程序中设置一个,但还没有ReferenceFileDocument
适用于的示例。我知道 aFileDocument
是什么,但ReferenceFileDocument
s 有什么不同。
在文档中它说的是:
ReferenceFileDocument 的一致性预计是线程安全的,反序列化和序列化将在后台线程上完成。
ios - 在基于文档的应用程序中隐藏文件扩展名 - DocumentGroup 和 UIDocumentBrowser
我已经开发基于文档的应用程序超过 12 个月了。它已经上架了,到目前为止一切都进展顺利,除了自 iOS 13 以来我一直无法解决的问题。
内置文件查看器显示我所有的应用程序文件扩展名。我已经使用 DocumentGroup 在 SwiftUI 中重写了应用程序,但也看到了 UIDocumentBrowser 的问题。
甚至 Apple 自己的Particles 演示应用程序也存在此问题。
我认为这可能是一个错误,对此我无能为力,但我也没有看到其他人谈论这个。所以这同样可能是我做错的事情。
是否有可能我需要更改的设置?
- 我看了看,
NSFileExtensionHidden
但这已经设置为true。 - 查看浏览器中的其他文件 - 在我的应用程序中 - 显示这些文件的扩展名已隐藏。但这可能只是因为我的应用程序不支持打开它们。
ios - SwiftUI / iOS 14:如何使用基于文档的(DocumentGroup)应用程序恢复上一个活动文档(状态?)
我正在使用 Xcode 提供的 SwiftUI 多平台、基于文档的应用程序模板。到目前为止,一切都“一帆风顺”,如果你愿意的话,但是我无法弄清楚我认为是“内置”的东西:
如果由于某些操作系统管理原因应用程序被“杀死”(或者如果故意在 Xcode 中停止它),当重新启动时,应用程序会“忘记”用户正在处理的文档,并开始显示文档浏览器。
我查看了文档,发现了一篇题为“ Restoring your app's state with SwiftUI ”的文章——这篇文章提供了一个非基于文档的应用程序的示例代码,但对于我来说,我什至无法开始理解它是什么我应该这样做以使其适应基于文档的(DocumentGroup)场景。
我“理解”了 SceneStorage 的概念,我什至能够保留一些声明为示例 ContentView 的 SceneStorage 属性的随机文本,但我不明白我应该如何使用它来重新启动应用程序时,最后打开文件,好吧,重新打开。
我有点尝试在@main 代码声明中执行此操作,但无法使其工作。此外,在这种情况下,谷歌并不是我的朋友——无法在任何地方找到这种特殊情况的单个示例。
我知道我可能会以“菜鸟”的身份通过(我是......)而且这是相当新的,所以我应该期待周围缺乏“东西”,而且这不应该那么难,所以请原谅我的“菜鸟” -iness”提前。
如果有人对如何实现这一点有任何想法,或者可以将我指向一个带有基于文档/DocumentGroup 应用程序的 WORKING 示例,我将永远感激不尽。
ios - iOS/iPadOS 中的 SwiftUI + DocumentGroup:如何重命名当前打开的文档
我的问题是关于 SwiftUI 的 DocumentGroup:在 Xcode 中使用一个简单的、基于模板的项目(使用新的多平台、基于文档的应用程序模板),我可以创建新文档、编辑它们等。此外,“在应用程序之外” , 我可以像这样操作文档文件 - 移动它、复制它、重命名它等等。
默认情况下,所有新文档都以“无标题”名称初始化;在主应用程序入口点,我可以访问文件的 URL:
第一个问题:一旦文档“打开”,即代码在范围内运行时,如何编辑/更改实际文件名 ContentView
?SwiftUI 文档的缺乏使得寻找此类问题的答案变得非常困难——我想我已经在整个互联网上大肆抨击,但似乎没有人遇到这类问题,如果他们这样做,他们发布的问题也没有答案- 我自己在其他问题上发布了几个问题,甚至没有得到任何评论,更不用说答案了。
我还有另一个问题,我认为这有点相关:例如,我在“文件”应用程序中看到,某些文件类型在选择时可以在该文件的“信息”窗格下显示其他扩展信息(例如:视频文件以像素、持续时间和编解码器信息显示尺寸);我的应用程序的文档包含几个值(在保存的数据中),我希望用户能够在文档选择器中“一目了然”,而无需打开文件本身,其方式与“文件”应用程序描述的方式类似.
我的第二个问题是:这可能吗?如果可以,我至少可以从哪里开始寻找答案?我的猜测是,这对于现在的 SwiftUI 来说是“不可能的”,所以它必须与“常规”Swift 集成?
提前感谢您的任何指导。
swiftui - 更改 DocumentGroup 中的默认“创建文档”标签
SwiftUI DocumentGroup 允许我们轻松创建基于文档的应用程序。我正在考虑自定义 DocumentGroup。
我们如何更改标签“创建文档”?我是否忽略了修饰符?在我的用例中,术语“文档”实际上是一个不好的名称,我想通过将其设置为其他内容来使 UI 更清晰。
macos - 在 SwiftUI DocumentGroup macOS 中创建并打开一个新文档
如何在基于 SwiftUI ReferenceFileDocument 的应用程序中打开新文档窗口?
背景
此 macOS 应用程序以编程方式WindowGroups
使用.handleEvents(:)
. 不幸的是,这会导致文件/新建菜单将这些窗口组的名称包含在“新建...窗口”中(如图所示)。未能找到覆盖该包装的方法,我试图完全使用CommandGroup(replacing: .newItem) {}
.
然而,我也未能重新制作“创建并打开一个新的文档窗口”命令。我试过搜索一些通知来发布和申请.handleEvents
。这只会使现有的打开文档窗口成为关键窗口。没有打开的文档,它什么也不做。
不需要的包装
卡在接线“新项目”更换
swiftui - 如何使用 SwiftUI DocumentGroup 读取大文件而不制作临时副本?
我制作了一个 SwiftUI DocumentApp,它可以读取大型媒体文件但不需要编写它们。在我的文档中,我只想存储文件的 URL,以便可以使用例如 AVAudioFile 加载它。我无法解决如何在不创建文件的临时副本的情况下执行此操作,就像作者在此处所做的那样,因为无法从 fileWrapper 获取文件 URL
我试图使用 configuration.file.regularFileContents (Data) 创建一个管道,但到目前为止我没有成功从该管道读取。