swift - 在 iPad 上的 iOS“文件”应用程序下看不到我的应用程序文件夹,但只能在 iPhone 上看到
问题描述
我正在尝试实现一个功能,用户可以使用 iOS 的“文件”应用程序定义自己的文档。我读到为了让您的应用程序能够访问文件应用程序,您需要在 info.plist 中定义这两个键
<key>UIFileSharingEnabled</key>
<true/>
<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
我定义了这两个键,但是当我运行我的应用程序并写入文档目录时,
FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
我没有在 Files 应用程序中看到使用我的书面文件创建的任何文件夹。有趣的是,如果我在 iPhone 上运行相同的应用程序,我会立即在 Files 应用程序中看到我的应用程序文件夹。我不确定是什么让共享只发生在 iPhone 而不是 iPad 上。我的 iPhone 运行的是 iOs 13.3,而我的 iPad 运行的是 13.3.1,所以这里差别不大。有没有人知道可能出了什么问题?
解决方案
我有两台 iPad,都显示了我的应用程序的文档文件夹(一系列计算器模拟)。这些应用程序安装在 iOS 13.3 或更早版本下。其中一台 iPad 已更新至 13.3.1。我在两台 iPad 上又添加了一个应用程序。它迅速出现在 13.3 的文件中。设备,但从不在 13.3.1 上。删除应用程序,重置 iPad,重新安装 - 不走运。看起来绝对像 13.3.1 引入的问题。
更新:
我终于弄清楚发生了什么。由于问题在 iOS 13.4 中并未消失,因此我进行了更多挖掘。因此,以下是使一切正常的方法:
- 创建一个应用程序,比如“MyApp”,确保“应用程序支持 iTunes 文件共享”和“支持就地打开文档”已启用。
- 在文件的“位置”中,单击“在我的 iPad 上”。
- 您不会看到任何名为“MyApp”的文件夹,因为它是空的。
- 转到保存您想要提供给 MyApp 的文件的位置,例如 iCloud Drive。
- 长按文件,然后选择移动(不是复制!)。
- 在弹出的列表中,您应该会看到 MyApp。
- 选择它,然后点击右上角的按钮,现在称为复制(而不是移动)。
- 再次转到“在我的 iPad 上”,您将看到 MyApp 的文件夹,其中包含复制的文件!
- 如果您现在删除该文件,MyApp 文件夹将再次为空并消失。
推荐阅读
- android-recyclerview - 使用 RecyclerView 时如何在父级中编辑布局视图?
- ruby - 当我只有值时如何在哈希中返回键?
- visual-studio-2019 - BimlExpress 和 VS2019 问题
- python - 为什么我的模型具有高性能(mAP = 0.88),而训练中的准确率却不超过 0.55?
- python - 如何在用字符串定义的函数中拆分参数?
- postgresql - SqlAlchemy 与 Postgres:如何进行查询以检查字符串是否在 json 列内的列表中
- javascript - EvaluateJavascript 在 Webview Flutter 中不起作用。为什么JS没有实现?
- .net - 在 mongodb 中组合过滤器
- automated-tests - TOTP, 2FA 在柏树中进行测试,无需等待 30 秒
- javascript - 带有 Ionic 5 的 Vue.js:不工作的指令