Как сохранить текстовый файл во внешнем хранилище в IOS с помощью флаттера? - PullRequest
1 голос
/ 18 марта 2019

Я создал приложение, в котором пользователь может создавать и сохранять текстовые файлы в локальном хранилище Android. Я использовал пакет path_provider , который дает getExternalStorageDirectory () для сохранения данных во внешнем хранилище. Но не могу найти то же самое для ios . getExternalStorageDirectory () не поддерживается для ios.

Я хочу сохранить файл, чтобы в дальнейшем пользователь мог получить доступ к файлу из Файловое приложение в 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.

1 Ответ

1 голос
/ 01 июня 2019

Вы можете сохранить файл в NSDocumentsDirectory (getApplicationDocumentsDirectory()) и затем сделать его доступным для пользователя.

От: https://developer.apple.com/library/archive/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

Используйте этот каталог для хранения пользовательского контента. Содержимое этого каталога может быть сделано доступным для пользователя через общий доступ к файлам; поэтому его каталог должен содержать только те файлы, которые вы, возможно, пожелаете предоставить пользователю.

Чтобы сделать каталог доступным для пользователя, вам нужно открыть проект Xcode в 'your_app / ios / Runner.xcworkspace'. Затем откройте файл Info.plist в каталоге Runner и добавьте две строки с ключами UIFileSharingEnabled и LSSupportsOpeningDocumentsInPlace. Установите значение обеих клавиш на YES.

Если вы сейчас откроете приложение «Файлы» и нажмете «На моем iPhone», вы увидите папку с названием вашего приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...