我想出了一个奇怪的问题。我在我的应用程序中使用sqlite数据库。该应用程序在模拟器中运行时工作正常,但是当我在iPhone设备上部署应用程序时,它不会从数据库中读取。此外,当我尝试向表中插入某些内容时,它表示没有这样的表,这意味着我的数据库实际上并未复制到设备中。我尝试使用Build-> Clean all Targets清理项目,删除Build文件夹并从设备中手动删除应用程序。然后再试一次。但没有运气。当然,我已经将数据库添加到资源中,我可以找到并实际读取内容。在设备上部署时,请指导我的错误。
答案 0 :(得分:0)
首先检查您是否在复制资源构建阶段将数据库复制到捆绑包中。当资源在捆绑中时,您无法修改它,您需要将其复制到应用程序的文档目录
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
答案 1 :(得分:0)
我实际上从未设法做到这一点。这就是为什么我有一个构建脚本设置,它将我拥有的任何sqlite DB转储到.sql文本文件中。在手机上第一次运行app时,我只是从这些sql行生成sqlite DB。对我来说比使用sqlite的二进制文件更省心。