如何 Flutter 将文件写入 iOS iPhone“在我的手机上查找”文件夹

Posted

技术标签:

【中文标题】如何 Flutter 将文件写入 iOS iPhone“在我的手机上查找”文件夹【英文标题】:How to Flutter write files to iOS iPhone "Find on my phone" Folder 【发布时间】:2020-09-26 15:41:50 【问题描述】:

我的目标是允许我的应用用户写入和读取由我的应用创建的文件。例如,写入然后允许用户通过电子邮件发送 .CSV 数据文件或 .GPX 位置数据文件。在另一端,将文件导入回我的应用程序。

我已经成功部署了我的应用程序的 android 版本(Plant List GPS),它使用 Flutter 插件 path_provider 1.6.10。在 Android 上,我成功地使用了外部目录,但是这个外部目录解决方案不适用于 ios。我发现在 iOS 上我可以创建子文件夹并写入 getApplicationDocumentsDirectory,但是当我尝试从文件选择器解决方案中查找/读取该文件时,它看不到。我了解这是保护此文件夹位置中敏感应用程序文件的正确行为。

我也了解 iOS 具有应用沙盒的概念,并欣赏它的目标。我不是想打败它,而是想办法在我的 Flutter 应用程序中访问/使用它。我曾在我的 MacBook 上使用 iPhone 11 模拟器将测试数据文件写入 iOS 文件系统上的各个位置,但无法让任何文件出现在手机的“在我的手机上查找”对话框中。

对解决方法或技术的任何帮助表示赞赏。

【问题讨论】:

【参考方案1】:

我认为您需要将两个密钥都添加到 info.plist 中,然后您的应用程序目录中的文件将在 Files 应用程序上可见! LSSupportsOpeningDocumentsInPlace UIFileSharingEnabled

【讨论】:

以上是关于如何 Flutter 将文件写入 iOS iPhone“在我的手机上查找”文件夹的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Flutter 中写入文件

在使用 iOS 7 的 iPhone 5s 上写入 /dev/null 时,AVAudioRecorder 停止工作

flutter 如何实现文件读写(使用篇)

Flutter 并将数据保存到本地存储

如何在 Flutter 中从 firebase 存储读取和写入文本文件?

如何将音频效果应用于文件并写入文件系统 - iOS