带有 fmdb 的 ios 6 sqlite 无法在 iPhone 上运行

标签 ios objective-c fmdb

我正在使用 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/

相关文章:

ios - Fabric 请求不在存档或 iTunes Connect dSYM 文件中的 dSYM

objective-c - 向 NSNumber 发送 intValue 消息会导致 "Bad Access"错误

ios - FMDB 错误 - 未知列名

iphone - 如何从结果集中获取分组查询数据?

javascript - wso2 EMM iOS 服务器

ios - 使用 NSComparisonResult 对 CGPoints 数组进行排序时在一个项目中出错

iphone - 折叠 UITableView

ios - 应用程序在发布版本中崩溃但在调试中不崩溃

swift - 将任意长度的数组绑定(bind)到 SQLite 查询

ios - 需要将一小段代码快速转换为 Objective C