Как поместить БД в изолированную область в iOS App и получить доступ к пути? - PullRequest
0 голосов
/ 22 апреля 2020

Теперь у меня есть данные БД, используемые в Linux и Window.

Я бы хотел поместить их в iPhone и использовать их в моем приложении iOS.

Как поместить БД в область Sandbox моего iOS приложения ?? А где путь?

1 Ответ

2 голосов
/ 22 апреля 2020

Как правило, вы используете FileManager метод url(for:in:appropriateFor:create:) для создания URL файла:

let fileURL = try! FileManager.default
    .url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
    .appendingPathComponent("test.sqlite")

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

Но нигде не сохраняйте этот абсолютный путь. Всегда создавайте его программно, как описано выше.


Обратите внимание, что исторически мы привыкли использовать .documentsDirectory для подобных вещей (и вы увидите много таких ответов, задерживающихся в Интернете). Но в настоящее время мы будем использовать .applicationSupportDirectory. См. iOS Стандартные каталоги: где находятся файлы документ или iOS Рекомендации по хранению видео.

...