ivanvorobei
@ivanvorobei
iOS разработчик, канал https://t.me/sparrowcode

Как получить файл из Realm?

Базу данных Realm инициализирую так:

let fileURL = FileManager.default
            .containerURL(forSecurityApplicationGroupIdentifier: self.identificator)!
            .appendingPathComponent("default.realm")
let config = Realm.Configuration(fileURL: fileURL, schemaVersion: 2, migrationBlock: { (migration, oldSchemaVersion) in })
let realm = try! Realm(configuration: config)


Хочу сделать бэкап, для этого нужно собрать базу в файл. Как это сделать?
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
ivanvorobei
@ivanvorobei Автор вопроса
iOS разработчик, канал https://t.me/sparrowcode
Делаем объект Data:

let data = try Data(contentsOf: realmURL)

realmURL в моем случае это fileURL из вопроса.
Сохраняем с расширением:

guard let shareFile = data.toFile(fileName: "debt-backup", extenshion: "debt") else { return }


Метод toFile:

func toFile(fileName: String, extenshion: String) -> URL? {
        
        if let directory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
            
            let fileURL = directory.appendingPathComponent(fileName + "." + extenshion)
            
            do {
                try self.write(to: fileURL)
                return fileURL
            }
            catch {
                print("Error writing the file: \(error.localizedDescription)")
            }
        }
        
        return nil
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы