Как зашифровать с помощью EncryptedCoreData с Swift?

У меня возникли проблемы с выяснением, как зашифровать мою базу данных sqlite. Я использую основные данные и этот следующий проект:

https://cocoapods.org/?q=EncryptedCoreData

Что я не могу понять, так это то, как я должен использовать этот проект для шифрования моей базы данных. Я уже установил проект и могу импортировать библиотеку EncryptedCoreData. Однако я не нахожу никакой информации относительно практического примера со swift. В моем appdelegate у меня есть следующий код

import UIKit
//import CoreData
//import SQLCipher
import EncryptedCoreData


lazy var persistentContainer: NSPersistentContainer = {
    // my attempt to initialize the container
    let modelURL = Bundle.main.url(forResource: "DbModel", withExtension: "momd")!
    var coordinator = NSPersistentStoreCoordinator.init(managedObjectModel: NSManagedObjectModel(contentsOf: modelURL)!)

    //originaly its
    let container = NSPersistentContainer(name: "DbModel")
    container.loadPersistentStores(completionHandler: { (storeDescription, error) in
        if let error = error as NSError? {
            fatalError("Unresolved error \(error), \(error.userInfo)")
        }
    })
    return container
}()

Может кто-нибудь привести пример того, как я должен инициализировать контейнер?

1 ответ

Я перевел Objective-C на Swift, и это сработало, я просто добавил следующие строки

let container = NSPersistentContainer(name: "DbModel")
// Begin of my code
let cOpts : NSDictionary = [
            EncryptedStore.optionPassphraseKey() : "123deOliveira4", //your Key
            EncryptedStore.optionFileManager() : EncryptedStoreFileManager.default()
        ]
let desc = try! EncryptedStore.makeDescription(options: cOpts as! [AnyHashable : Any], configuration: nil)
container.persistentStoreDescriptions = [desc]
//End
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
        if let error = error as NSError? {
            fatalError("Unresolved error \(error), \(error.userInfo)")
        }
})
Другие вопросы по тегам