我正在使用 FMDB 使用 sqlite db 构建一个应用程序,
在模拟器上一切正常,在越狱的 iPhone 上一切正常,但在具有开发者帐户的 idevice 上我收到此错误
error opening!: 14
我像这样创建数据库
NSString *bundelpath = [[NSBundle mainBundle]bundlePath];
[FMDatabase databaseWithPath:[bundelpath stringByAppendingFormat:@"/database.db"]];
最佳答案
SQLite 正在尝试在真实设备上的完全沙盒应用程序中只读的位置打开具有读/写权限的文件。
这个documentation Apple 解释了哪些地方可以书写,哪些地方不可以书写。
您很可能想使用<Application_Home>/Documents/
作为路径。
模拟器无需额外的沙箱即可运行,并且其中运行的应用程序能够在开发主机的文件系统中的任何位置进行写入。
想必你的越狱也击败了应用程序沙箱。
关于带有 fmdb 的 ios 6 sqlite 无法在 iPhone 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18645267/