0

我在我的 iOS 应用程序中使用 Core Data API。此外,当应用程序状态更改(背景/前景)时,我正在使用 commoncrypto 库(CCCrypt())加密/解密驻留在文档文件夹中的数据库文件(.sqlite 文件)。

我面临的问题是......当应用程序被用户从后台状态手动杀死时,数据库中的一些记录会丢失,这个问题是不一致的。

我只是将 sqlite 文件内容转换为 NSData 并用作 CCCrypt() 函数的输入来加密/解密,并且我没有在 crypt 操作中解码任何输入数据。

有人可以帮助我.....数据丢失的原因是什么?也只有当应用程序从后台状态被手动杀死时......对于加密和解密操作,CCCrypt函数返回状态为kCCSuccess......

在 CCCrypt 操作之前是否需要使用任何类型的解码输入数据(原始字节)?

4

1 回答 1

0

可能您应该使用生命周期方法在数据被杀死之前保存数据。尝试在 applicationWillTerminate 中保存数据。通过此讨论了解有关 [在此处输入链接描述][1] 的更多详细信息

[1]: applicationWillTerminate 什么时候被调用,什么时候不被调用“在被杀死之前保存数据”

于 2013-10-04T06:13:30.567 回答