我的应用正在使用存储类型为sqlite的Core Data框架。我收到几条评论意见表示存储在Core Data中的用户数据丢失,似乎sqlite文件读取失败。从用户那里得到sqlite文件后,有3个文件(.sqlite,.sqlite-wal,.sqlite-shm)。 但是在这些sqlite文件中只能查询空结果。 我从用户那里获得的是他们可以在应用程序处于活动状态时关闭iPhone。
我刚注意到Core Data开始使用WAL作为ios7中的默认journal_mode,而在ios7之前它默认为DELETE。我没有在我的代码中手动设置journal_mode。
我不确定这个问题的根本原因是什么。但无论如何,数据丢失对用户来说是不可接受的。有没有人碰巧遇到过这个问题?
我是否应该为所有iOS版本手动设置journal_mode为DELETE? 谢谢!
更新 用户报告它在前一天正常工作,但第二天一切都丢失了。