パスワードなどの機密情報を Core Data に保存しています。アプリがバックグラウンドになるか終了するたびに、アプリが SQLite データベース全体を暗号化するようにします (サイズはそれほど大きくなく、1 MB 未満です)。私は暗号化自体を理解しましたが、ストアで Core Data スタックを正しく「閉じて」再度開くのに問題があります。
私のアプリが終了/バックグラウンドに入るとき、私は今これを行います:
- コンテキストを保存する
- コーディネーターからストアを削除します
- ストアを暗号化して保存する
- ストアを削除する
アプリが戻ってきたら、次のことを行います。
- ストアファイルを復号化して保存する
- ストアをコーディネーターに戻す
- コンテキストをリセットする
ドキュメントから私が理解したことから、これで十分なはずですが、メインのView Controllerがコンテキストで再度フェッチしようとするとすぐにアプリがクラッシュします。
ストアをコアデータから一時的に削除してから再度追加する最良の方法を知っている人はいますか?