我在 Core Data 中存储了一些敏感信息,如密码等。我希望我的应用程序在应用程序进入后台或终止时加密整个 SQLite 数据库(它不是很大,< 1 MB)。我自己弄清楚了加密的事情,但是我在正确“关闭”并重新打开商店的核心数据堆栈时遇到了问题。
当我的应用程序终止/进入后台时,我现在这样做:
- 保存上下文
- 从协调器中删除存储
- 加密存储并保存
- 删除商店
当我的应用程序返回时,我执行以下操作:
- 解密并保存存储文件
- 将商店添加回协调器
- 重置上下文
根据我从文档中了解到的情况,这应该足够了,但是一旦主视图控制器尝试再次对上下文进行提取,我的应用程序就会崩溃。
有谁知道从核心数据中暂时删除商店然后再次添加它的最佳方法是什么?