Comments (1)
I don't know if this would solve the issue for you but here it is
lazy var persistentContainer: NSPersistentContainer = {
/*
The persistent container for the application. This implementation
creates and returns a container, having loaded the store for the
application to it. This property is optional since there are legitimate
error conditions that could cause the creation of the store to fail.
*/
let container = NSPersistentContainer(name: "APP_NAME_HERE")
do {
let configuration = EncryptedStoreFileManagerConfiguration(options: [EncryptedStoreFileManagerConfiguration.optionBundle(): Bundle.main])
let fileManager = EncryptedStoreFileManager(configuration: configuration)!
let options: [String: Any] = [
EncryptedStore.optionFileManager(): fileManager,
EncryptedStorePassphraseKey: "123"
]
container.persistentStoreDescriptions = [
try EncryptedStore.makeDescription(options: options, configuration: "local")
]
} catch {
print("Core data not encrypted")
}
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
// Replace this implementation with code to handle the error appropriately.
// fatalError() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
/*
Typical reasons for an error here include:
* The parent directory does not exist, cannot be created, or disallows writing.
* The persistent store is not accessible, due to permissions or data protection when the device is locked.
* The device is out of space.
* The store could not be migrated to the current model version.
Check the error message to determine what the actual problem was.
*/
fatalError("Unresolved error \(error), \(error.userInfo), desc \(storeDescription)")
}
})
return container
}()
Another implementation
lazy var persistentContainer: NSPersistentContainer = {
/*
The persistent container for the application. This implementation
creates and returns a container, having loaded the store for the
application to it. This property is optional since there are legitimate
error conditions that could cause the creation of the store to fail.
*/
let container = NSPersistentContainer(name: "YallaSuperApp")
do {
let options: [AnyHashable: Any] = [
NSPersistentStoreFileProtectionKey: FileProtectionType.complete,
EncryptedStorePassphraseKey: "123456"
]
let store = try container.persistentStoreCoordinator.addPersistentStore(ofType: EncryptedStoreType, configurationName: nil, at: container.persistentStoreDescriptions[0].url, options: options)
} catch {
print("Core data not encrypted \(error.localizedDescription)")
}
return container
}()
from encrypted-core-data.
Related Issues (20)
- ARC Semantic Issue Multiple methods named 'objectID' found with mismatched result, parameter type or attributes
- Using Encrypted CoreData in App Extension
- Unable to change password
- unable to initialize class object to change password HOT 1
- Fetch return nil data HOT 1
- missing support for batch requests (NSBatchDeleteRequest, NSBatchUpdateRequest) HOT 1
- Doesn't encrypt the .sqlite file and extra "ecd" tables doesn't have any records.
- Migration Old unencrypted Core database to Encrypted Core Data base(using SQLCipher).
- Migration Old unencrypted Core database to Encrypted Core Data base. HOT 2
- XCode 12 build error HOT 1
- Migrating SQLCipher version from 3.x to 4.x in Encrypted Core Data HOT 1
- NSFetchRequest returnsObjectsAsFaults doesn't work HOT 1
- Is this project no longer being maintained? HOT 3
- 'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release HOT 2
- Very small subset of users randomly getting EncryptedStoreErrorIncorrectPasscode error
- issue with Lightweight migration Coredata
- iOS CoreData- Tracking persistent transaction history
- Swift no such moduble EncrytedCoreData
- Default DB Storage location
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from encrypted-core-data.