Core data 如何在应用程序不存在时加密核心数据数据库';t运行

Core data 如何在应用程序不存在时加密核心数据数据库';t运行,core-data,encryption,ios7,Core Data,Encryption,Ios7,我想在我的应用程序中使用核心数据,它包含敏感信息。所以我想保护它不被访问,即使是在没有上锁的手机上 现在我正在对dienterbackground:中的sqlite、sqlite shm和sqlite wal文件进行加密,并在applicationWillEnterForeground:中再次解密它们。它如预期的那样工作,但我不知道这是否是最好的方法。例如,如果我的应用程序崩溃,它将不会加密文件 加密和解密数据库中的单个条目/列也不是最好的选择,因为这样我就不能使用谓词了,对吗 那么“最新技术”

我想在我的应用程序中使用核心数据,它包含敏感信息。所以我想保护它不被访问,即使是在没有上锁的手机上

现在我正在对
dienterbackground:
中的sqlite、sqlite shm和sqlite wal文件进行加密,并在
applicationWillEnterForeground:
中再次解密它们。它如预期的那样工作,但我不知道这是否是最好的方法。例如,如果我的应用程序崩溃,它将不会加密文件

加密和解密数据库中的单个条目/列也不是最好的选择,因为这样我就不能使用谓词了,对吗

那么“最新技术”是什么?有没有办法让sqlite文件只在应用程序打开时解密


由于应用程序>=iOS 7,我们将定期检查加密/解密状态(当应用程序处于后台时)选项?但是如果用户打开后台刷新,我又迷路了…

如果
NSFileProtectionComplete
对您来说还不够(非常详细),那么看起来很有希望