我们的应用程序有一个构建sqlite数据库并将其上传到亚马逊S3的过程。当应用程序在用户手机上启动时,它会检查数据库的版本号,如果存在较新的版本,它会下载并替换当前安装在手机上的sqlite数据库。
从iOS7开始,我们注意到很多手机都收到了损坏的数据库错误。
我的直觉告诉我,这可能与ios 7的默认日志模式有关,而WAL日志现在是默认模式,但当我们使用IOS 7生成文件时,在IOS 6上也出现了同样的问题。
有没有人遇到过这个问题?
发布于 2013-11-26 02:49:46
我能想到的两件事是: 1)有一些来自原始DB的外部文件让SQLite感到困惑。2)当你的应用程序“启动”时,你的数据库还能打开吗(从后台返回?)如果你试图用一个新的数据库替换一个打开的数据库,文件系统可能会拒绝你删除一个打开的文件,然后你会尝试在上面写一个新的,等等。
否则,您可以单独下载新的数据库,打开它的内容,然后根据内容更新现有的数据库--这需要更多的工作。
https://stackoverflow.com/questions/20198243
复制相似问题