2013-08-21 10 views
6

Magical Recordを使用してデータを保存しています。このデータは暗号化が必要なので、SQLCipherライブラリ(http://sqlcipher.net/ios-tutorial/)と組み合わせようとしています。iOS Magical Record&SQLCipher

IすでにセットアップSQLCipherこの例https://github.com/project-imas/encrypted-core-dataからEncryptedStoreファイルを使用して、成功したコアデータとそれをテストした:

NSPersistentStoreCoordinator *コーディネーター= [EncryptedStore makeStore:私はこのようNSPersistentStoreCoordinatorを変更してやった

: [self managedObjectModel]:[SSKeychain passwordForService:myservice account:myaccount]];

私はNSPersistentStoreCoordinatorがMagicalRecordでどのように作成されるのかを変更する必要があると思いますが、運がないので、どんな助けにも感謝します。

答えて

2

永続的なストアコーディネーターが既にいる場合は、MagicalRecordを使用するときに手動でコアデータスタックを設定する必要があります。

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

自分でinitializeメソッドを公開する必要があるかもしれません。

補足として、MagicalRecordの問題ログにチケットを追加して、セットアップメソッドコレクションにメソッドを追加して、自分のコーディネーターを指定して、この作業がMagicalRecord自身で処理されるようにすることができます。

+1

私は既に自分自身で問題を解決しました。私は魔法のレコードを介して段階的に行ってNSPersistentStoreCoordinator + MagicalRecord.m方法で変更された: +(NSPersistentStoreCoordinator *)をMR_coordinatorWithSqliteStoreNamed:(NSStringの*)storeFileNameのwithOptions:(NSDictionaryの*)オプション 差: NSPersistentStoreCoordinator * PSC = [EncryptedStore makeStoreました:モデル:@ "temp"]; // NSPersistentStoreCoordinator * psc = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:model]; SQLCipherはMagicalRecord –

+0

で動作します。ええ、これは「パブリックAPI」のようにするべきでしょう。あなたのカスタム変更でlibを維持して涼しい場合は、それはクールです。 – casademora

+1

@ user1041311代わりにあなたのために働いた正確な設定で答えを追加できますか? – Kiran

関連する問題