我们的应用程序有一个过程,我们构建一个sqlite数据库并将其上传到Amazon S3。当应用程序在用户手机上启动时,它会检查数据库的版本号,如果存在较新版本,则会下载并替换当前安装在手机上的sqlite数据库。
自IOS 7以来,我们注意到很多手机都出现了数据库错误。
我的直觉告诉我,这可能与ios 7和WAL日记的默认日记模式有关,现在是默认情况,但是当我们使用IOS 7生成文件时,在IOS 6上发生了同样的问题。 / p>
有没有人遇到过这个问题?
答案 0 :(得分:1)
我能想到的两件事:1)原始数据库中存在一些混淆了SQLite的外部文件。 2)当您的应用程序“启动”时,您的数据库是否仍然可以打开(从后台返回?)。如果您尝试用新的DB替换打开的数据库,文件系统可能会拒绝您删除打开的文件,然后您尝试在顶部编写新的数据库等等。
否则,您可以单独下载新数据库,打开它的内容并从内容中更新现有内容 - 还有更多工作。