我使用魔法记录来保存我的数据。此数据需要加密,因此我尝试将其与SQLCipher库(http://sqlcipher.net/ios-tutorial/)结合使用。
我已经使用此示例https://github.com/project-imas/encrypted-core-data中的EncryptedStore文件成功设置了SQLCipher并使用Core Data对其进行了测试:
我所做的只是改变了NSPersistentStoreCoordinator:
NSPersistentStoreCoordinator * coordinator = [EncryptedStore makeStore:[self managedObjectModel]:[SSKeychain passwordForService:myservice account:myaccount]];
所以我想我需要改变在MagicalRecord中创建NSPersistentStoreCoordinator的方式,但我没有运气,所以任何帮助都会受到赞赏。
答案 0 :(得分:2)
如果您已经拥有持久存储协调器,则必须在使用MagicalRecord时手动设置核心数据堆栈。我建议采用以下方法:
NSPersistentStoreCoordinator *coordinator = //how ever you do it;
[NSPersistentStoreCoordinator MR_setDefaultCoordinator:coordinator];
[NSManagedObjectContext MR_initializeDefaultContextWithCoordinator:coordinator];
您可能需要自己公开initialize方法。
作为旁注,您可能希望在MagicalRecord问题日志中添加一个票证,以便向setup方法集合添加一个方法来指定您自己的协调器,以便MagicalRecord本身处理这项工作。