問題タブ [encrypted-core-data-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
core-data - SQLCipher、encrypted-core-data、iOS - 2 つの .sqlite ファイルは正常ですか?
機密情報があるため、SQLCipher を使用してデータベースを暗号化しています。すべてがうまくいっているように見えますが、現在 2 つの .sqlite ファイルを持っているのでイライラしています:
1 つ目は暗号化されていますが、2 つ目は暗号化されていませんが、情報は含まれていません。情報にアクセスする方法がないため、機能しているように見えますが、これが正しいことを確認したかっただけです。
ios - Encrypted-Core-Data での SQLite 構文エラー
非常に長い間構文エラーが発生しており、何が原因なのかわかりません。デバッグ ログは次のとおりです。
注文のタイプは Integer 16 です。参考までに、私は現在、github にある Encrypted-Core-Data を使用しています。何かご意見は?
ios - 暗号化されたコア データによる段階的な移行
ソース リファレンス:カスタム コア データの移行
私は github モジュール (Encrypted Core Data by Gavin Black) を使用していますが、軽量の自動移行には次のような制限があることに気付きました。
1) デバイスのデータ モデルが最新モデルよりも複数バージョン遅れている場合、または
2) 現行バージョンから最新バージョンまでのデータモデルは作成されていません
自動軽量移行は、期待どおりに正常に移行されません。私は最終的にGoogleで検索し、上部に貼り付けられたリソースを見つけて、私の疑いを確認しました.
プログレッシブ マイグレーションと呼ばれる解決策が提案され、通常の SQLite ではうまく機能しました。しかし、この実装を ECD に持ち込もうとすると、問題が発生します。例外は次のとおりです。
キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。理由: ': -observeValueForKeyPath:ofObject:change:context: メッセージが受信されましたが、処理されませんでした。キー パス: migrationProgress 観察対象オブジェクト: 変更: { kind = 1; 新しい = "0.02083333"; }
誰もこれを経験したことがありますか?
ios - 単一の永続ストア コーディネーターによる複数のデータ モデル
Core Data を使用する iOS プロジェクトを継承しました。このプロジェクトには8 つの異なるデータ モデルがありますが、プロジェクトがそれほど大きくなく、多数のデータ モデルにエンティティを分割する正当な理由が見当たらないことは言うまでもありません。
Encrypted Core Dataを現在のデータ モデルと永続ストア コーディネーターで使用しようとしていますが、まったく機能しません。すべてのデータ モデルは次のように初期化されます。
したがって、すべてのデータ モデルには、独自のマネージド オブジェクト モデルと、独自の永続ストアとコンテキストを持つ永続ストア コーディネーターがあります。
私が見ているのは、暗号化されたコア データ (ECD) が、最初に作成された永続ストアにのみテーブルを作成していることです。私の疑いでは、ECD は単一のコーディネーターに追加された永続ストアのみを処理します。その仮定に基づいて、単一のコーディネーターを作成し、それにいくつかのストアを追加することが可能かどうか疑問に思っています.
私は Core Data についてあまり詳しくありませんが、コーディネーターがマネージド オブジェクト モデルで初期化されているため、それがどのように可能になるかわかりません (これは、エンティティの総数のセットのみを含む特定のデータ モデル ファイルを指します)。事業)。
何か案は?単一のマネージド オブジェクト モデルとコーディネーターを使用するために、すべてのデータ モデルを単一のモデルにマージすることは本当に避けたいと思います (実際にはそうしたいと思いますが、すべてが壊れてしまうと確信しており、実際にそうする必要はありません)。今がその時です)。
ios - EncryptedCoreData で以前のデータを取得できません
アプリの再起動後、コアデータからのデータが正しく返されません。また、特定のレコードを取得するためのフェッチ リクエストも失敗します。アプリが再起動されると、FetchRequestController はレコードを取得しません。
プロジェクトのデータを保護するためにencrypted-core-dataを使用しています。データを解析して managedObjectContext に保存できます。私のコードは次のようになります
コードはエラーなしで機能します。私persistentStoreCoordinator
のコードはこれmanagedObjectContext
と同じです
アプリを閉じる前にobjを印刷すると、印刷されます
しかし、アプリの再起動後、すべてのオブジェクトを取得して印刷すると、次のように印刷されます
プロパティを取得しようとすると NSString *string = obj.uniqueId
2016-01-24 23:59:11.795 Chare Dev[10556:158617] CoreData: 警告: NSManagedObjectContext デリゲートが障害処理動作をオーバーライドして、ID '0x7feb02de5c10' のオブジェクトをサイレント モードで削除し、スローする代わりにすべてのプロパティ値を nil/0 に置き換えました
NSSQLiteStoreType
代わりに使用すると、EncryptedStoreType
すべて正常に動作します。私が間違っていることを教えてもらえますか?
上記の問題により、データベース レコードが複数回追加され、フェッチ リクエストが uniqueId を持つ管理対象オブジェクトのフェッチに失敗するためです。
ios - 暗号化された CoreData 実装を使用する場合、shm ファイルと wal ファイルは必要ですか?
推奨された暗号化されたCoreData フレームワークを使用しています。
ドキュメント ディレクトリに shm ファイルと wal ファイルがないことに気付きました。私はいくつかの調査を行いましたが、それらは SQLite データベースが使用する一時ファイルのようです。
それらはセキュリティ上の理由で削除されたのでしょうか、それとも私が何か間違ったことをしたのでしょうか?
これは、私の CoreData スタックの永続ストア コーディネーターです。