gpt4 book ai didi

ios - 如何使用 flutter 将文本文件保存在 ios 的外部存储中?

转载 作者:IT王子 更新时间:2023-10-29 06:39:39 24 4
gpt4 key购买 nike

我创建了一个应用程序,用户可以在其中创建文本文件并将其保存在 Android 的本地存储中。我使用了 path_provider 包,它提供了 getExternalStorageDirectory() 将数据保存在外部存储中。但我找不到 ios 的相同内容。 ios 不支持 getExternalStorageDirectory()

我想保存该文件,以便用户以后可以从 iOS 中的 文件应用 访问该文件。 enter image description here

Future<String> get _localPath async{
var dir = await getExternalStorageDirectory();

return dir.path;
}

Future<File> get _localFile async{
final path = await _localPath;

return File('$path/test.txt');
}

Future<File> writeData(String msg) async{
final file = await _localFile;

return file.writeAsString(msg);
}

以上代码适用于 Android(如果提供存储权限)。任何人都可以帮助我在 ios 中实现同样的目标。

最佳答案

您可以将文件保存在 NSDocumentsDirectory (getApplicationDocumentsDirectory()) 中,然后将其提供给用户。

发件人:https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

Use this directory to store user-generated content. The contents of this directory can be made available to the user through file sharing; therefore, his directory should only contain files that you may wish to expose to the user.

要使目录对用户可用,您需要打开“your_app/ios/Runner.xcworkspace”下的 Xcode 项目。然后打开 Runner 目录中的 Info.plist 文件并添加两行,关键字为 UIFileSharingEnabledLSSupportsOpeningDocumentsInPlace。将两个键的值设置为 YES

如果您现在打开"file"应用程序并单击“在我的 iPhone 上”,您应该会看到一个包含您的应用程序名称的文件夹。

关于ios - 如何使用 flutter 将文本文件保存在 ios 的外部存储中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55220612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com