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

1 sandbox file-manager ios flutter

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

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

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

感谢解决方案方法或技术方面的任何帮助。

小智 5

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