iphone - 核心数据存储损坏

标签 iphone sqlite core-data

我的 iPhone 应用程序的少数客户遇到核心数据存储损坏(我假设是这样,因为错误是“无法保存到数据存储:操作无法完成。(Cocoa 错误 259。)”)

有没有其他人经历过这种商店腐败?我很担心,因为我的目标是尽快推送执行模式迁移的更新,我担心这会暴露出更多问题。

我曾假设 Core Data/SQLlite API 使用原子操作并且不会损坏,除非底层文件系统发生损坏。

是否有减少/防止损坏的方法,以及重现损坏的方法以便我可以对此进行测试(到目前为止我一直没有成功)。

编辑:

同时出现此错误:“位于/var/mobile/Applications//Documents/foo.sqlite 的数据库已损坏。SQLite 错误代码 11,数据库磁盘镜像格式错误。”

最佳答案

当我手动覆盖我的 Base.sqlite 而没有删除 Base.sqlite-walBase.sqlite-shm 时,它发生在我身上。事实上,these files are new SQLite 3.7 features ,可能会在 iOS 7 中添加。

为了解决这个问题,我删除了 Base.sqlite-* 并且 sqlite 从我的新基础版本中重新生成了它们。

关于iphone - 核心数据存储损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2741749/

相关文章:

ios - UITableView 分组隐藏部分分隔符

iphone - 如何在 iOS 中通过 3G 连接创建无线热点

mysql - SQL查询: How change of table will leads to different result?

iphone - 核心数据 : Transient values dirty object

ios - 核心数据 swift : How to save and load data?

ios - 如何在 xcode 中修复 "Failed to load model named datamodelname"

ios - 如何从适用于 Azure Mobile Engagement 的 iOS 应用程序获取正确的设备 ID(显示在门户中)

ruby-on-rails - 使用 Pow 运行 Rails 应用程序时,似乎无法从我的 iPhone 访问 .xip.io URL

python - sqlite3 -- 无法打开数据库文件

PHP:数据库缓存(内存中有 sqlite)