1

データベースを暗号化するために Magical Record ライブラリを使用している iOS プロジェクトに SQLCipher を追加しようとしています。また、encrypted-core-data プロジェクトの EncryptedStore クラスを使用します: https://github.com/project-imas/encrypted-core-data

投稿iOS Magical Record & SQLCipherの指示に従っている

メソッド- (NSPersistentStore *) MR_addSqliteStoreNamed:(id)storeFileName withOptions:(__autoreleasing NSDictionary *)options を次のように編集しました。

[coordinator
                                    addPersistentStoreWithType:EncryptedStoreType
                                    configuration:nil
                                    URL:databaseURL
                                    options:options
                                    error:&error];

オプション付き:

NSDictionary *options = @{
                            EncryptedStorePassphraseKey : @"the_password",
                            NSMigratePersistentStoresAutomaticallyOption : @YES,
                            NSInferMappingModelAutomaticallyOption : @YES
                            };

タイプ EncryptedStoreType を使用している場合、結果の NSPersistentStore* オブジェクトが作成されない (nil を返す) という問題があります。返されるエラー コードも nil です。

使用されている SQLCipher ライブラリは商用の iOS バージョンであり、openSSL が既に含まれています。SQLCipher の統合は問題ないようです。encrypted-core-data プロジェクトでテストするときに、暗号化されたデータベースを問題なく使用できます。

おそらくロングショットですが、SQLCipher を Magical Record と統合するときに同様の問題に遭遇した人はいますか?アドバイスをいただければ幸いです。

よろしくお願いします2J

4

1 に答える 1