我正在使用Magical Record保存数据。此数据需要加密,因此我试图将其与SQLCipher库(http://sqlcipher.net/ios-tutorial/)组合在一起。
我已经使用以下示例https://github.com/project-imas/encrypted-core-data中的EncryptedStore文件设置了SQLCipher并成功地使用Core Data对其进行了测试:
我所做的只是像这样更改了NSPersistentStoreCoordinator:
NSPersistentStoreCoordinator * coordinator = [EncryptedStore makeStore:[selfmanagedObjectModel]:[SSKeychain passwordForService:myservice account:myaccount]];
因此,我认为我需要更改在MagicalRecord中创建NSPersistentStoreCoordinator的方式,但是我没有运气,因此能提供任何帮助。
最佳答案
如果您已经有一个持久性存储协调器,则在使用MagicalRecord时必须手动设置核心数据堆栈。我建议遵循以下原则:
NSPersistentStoreCoordinator *coordinator = //how ever you do it;
[NSPersistentStoreCoordinator MR_setDefaultCoordinator:coordinator];
[NSManagedObjectContext MR_initializeDefaultContextWithCoordinator:coordinator];
您可能需要自己公开initialize方法。
附带说明,您可能希望向MagicalRecord问题日志添加票证,以将方法添加到setup方法集合中以指定您自己的协调器,以便MagicalRecord自己来完成这项工作。