iOS Magical Record& SQLCipher

时间:2013-08-21 18:49:45

标签: iphone ios magicalrecord sqlcipher

我使用魔法记录来保存我的数据。此数据需要加密,因此我尝试将其与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的方式,但我没有运气,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:2)

如果您已经拥有持久存储协调器,则必须在使用MagicalRecord时手动设置核心数据堆栈。我建议采用以下方法:

 NSPersistentStoreCoordinator *coordinator = //how ever you do it;
 [NSPersistentStoreCoordinator MR_setDefaultCoordinator:coordinator];
 [NSManagedObjectContext MR_initializeDefaultContextWithCoordinator:coordinator];

您可能需要自己公开initialize方法。

作为旁注,您可能希望在MagicalRecord问题日志中添加一个票证,以便向setup方法集合添加一个方法来指定您自己的协调器,以便MagicalRecord本身处理这项工作。