Эй, у меня есть приложение, которое использует Real для сохранения данных. Я использовал каталог файлов области по умолчанию для хранения данных приложений, но я хотел бы переместить каталог файлов в группы приложений для создания расширений приложений. Вот мой код для изменения пути к файлу
var config = Realm.Configuration()
config.fileURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.com.bundle.identifier")!.appendingPathComponent("default.realm")
Realm.Configuration.defaultConfiguration = config
Код прекрасно меняет путь к файлу, проблема в том, что данные меняются, когда я меняю путь, так как данные по предыдущему пути непереданы.
У кого-то еще был похожий вопрос здесь , но он очень устарел и не работал
Я пробовал такие способы его передачи, но все какне удалось
migrateData(){
let fileManager = FileManager.default
//Cache original realm path (documents directory)
let originalDefaultRealmPath = realm.configuration.fileURL?.absoluteString
//Generate new realm path based on app group
let appGroupURL: NSURL = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "group.com.groupIndentifier")! as NSURL
let realmPath = appGroupURL.path!.appending("default.realm")
//Moves the realm to the new location if it hasn't been done previously
if (fileManager.fileExists(atPath: originalDefaultRealmPath!) && !fileManager.fileExists(atPath: realmPath)) {
do{
try fileManager.moveItem(atPath: originalDefaultRealmPath!, toPath: realmPath)
}
catch{
print("error")
}
}
let config = Realm.Configuration(fileURL: appGroupURL.absoluteURL)
//Set the realm path to the new directory
Realm.Configuration.defaultConfiguration = config
}
Заранее спасибо за помощь! Я все еще довольно новичок в Swift и программировании в целом, так что извините, если я ничего не понимаю.