/ / Como pré-carregar o banco de dados 'Realm' no iOS swift3? - ios, swift3, realm

Como pré-carregar o banco de dados 'Realm' no iOS swift3? - ios, swift3, realm

Eu estou tentando implementar o banco de dados Realm no meu aplicativo, eu tenho banco de dados de território com alguns dados pré-carregados para ele. Eu pesquisei muitos recursos de estouro de pilha, mas não obtive nenhum sucesso.

Até agora, eu fiz os seguintes passos:

  1. Copie o arquivo de território no pacote do meu aplicativo
  2. Adicionado o seguinte código no delegado do aplicativo:

    path = Bundle.main.path(forResource: "data", ofType: "realm")
    var config = Realm.Configuration(fileURL: NSURL(fileURLWithPath:      path!))
    config.readOnly = true
    
    // Open the Realm with the configuration
    let realm = try! Realm(configuration: config)
    

Mas isso não funciona, por favor, forneça alguma solução para isso.

Nota: Eu não quero migrar meu banco de dados.

desde já, obrigado

Respostas:

5 para resposta № 1

A parte do código abaixo funciona perfeitamente para eu carregar uma instância de Realm pré-carregada durante o primeiro lançamento do meu aplicativo:

let defaultPath = Realm.Configuration.defaultConfiguration.fileURL?.path
let path = Bundle.main.path(forResource: "default", ofType: "realm")
if !FileManager.default.fileExists(atPath: defaultPath!), let bundledPath = path {
do {
try FileManager.default.copyItem(atPath: bundledPath, toPath: defaultPath!)
} catch {
print("Error copying pre-populated Realm (error)")
}
}