【发布时间】:2021-11-15 15:33:59
【问题描述】:
我从 iOS 11 开始就有一个文档浏览器应用程序(使用 UIKit/UIDocumentBrowserViewController)。该应用程序(我们称之为“MyApp”)用于在 iCloud Drive(和/或设备上,取决于设置中的选择)中创建一个“MyApp”文件夹,文档将自动保存在该文件夹中。
将我的设备更新到 iOS 15 并重新编译后,没有对代码进行任何更改,该应用似乎不再识别 iCloud Drive 中自己的文件夹。每次从应用程序外部(文件、邮件等)打开/导入文件时,应用程序都会在 iCloud Drive 中创建一个新“MyApp”文件夹并保存文件在那里。现有文件夹重命名为“MyApp 2”(如果我尝试导入另一个文档,则重命名为“MyApp 3”、“MyApp 4”等)。
这似乎只发生在 iCloud Drive 中。如果我在设置中选择将文档保存在我的设备上,所有文档都会自动导入到“我的应用”文件夹中,就像在 iOS 14 及更早版本中一样。
我还尝试使用 Xcode 13 UIKit 基于文档的应用程序模板从头开始创建一个测试应用程序,并且行为似乎完全相同......所以看起来 UIDocumentBrowserViewController 中的一个错误是在 iOS 更新中引入的.
有人注意到了吗?有解决方案/解决方法吗?是否应该提交错误报告?
感谢您的帮助。
[编辑] 如果有人感兴趣,这是使用 Xcode 模板重现问题的最简单方法:
- 在 Xcode 13.0 中创建一个新项目
- 选择 iOS -> 文档应用
- 选择界面:Storyboard 并创建项目(为简单起见,我们使用“MyApp”作为产品名称)
- 在运行 iOS 15.0 或 15.0.1 且启用了 iCloud Drive 的设备上构建和安装 MyApp
- 在 Settings -> MyApp 中保留 Document Storage(即 iCloud Drive)的默认设置
- 创建一个包含任何内容的文本文件并将其保存为扩展名为“exampletext”(即应用模板使用的导入类型标识符 - 我们将文件称为“test.exampletext”)
- 使用 test.exampletext 作为附件向设备可访问的收件箱发送电子邮件
- 在设备上打开 Mail,长按 test.exampletext 并分享到 MyApp
- 如果iCloud Drive中存在“MyApp”文件夹,将重命名为“MyApp 2”;将创建一个新的“MyApp”文件夹,并将 test.exampletext 保存在新文件夹中
- 再次将邮件中的 test.exampletext 共享到 MyApp 将创建另一个“MyApp”文件夹并重命名前一个文件夹;以这种方式可以创建任意数量的“MyApp n”文件夹,每个文件夹都包含一份文档
【问题讨论】:
-
请务必将此事报告给 Apple。
-
我做了,我昨天通过苹果反馈助手提交了上述描述。我希望这可以/将很快得到修复......
-
在 15.1 中仍未修复。简直荒谬。我联系了开发人员支持,他们说要提交反馈。我正在和他们再次尝试。
-
@emime 他们今天似乎承认了我的反馈。
-
@cvb 谢谢,让我们一起期待。我的反馈是在 10 月 4 日提交的,在反馈助手中仍然显示“打开”,并显示“少于 10 个”类似的报告:我有点惊讶,使用 UIDocumentBrowserViewController 的应用程序这么少吗?
标签: swift icloud-drive ios15 uidocumentbrowserviewcontroller