PhoneGap / iOS上的SQLite数据库 – 超过5mb可能

我对在iOS上的Phonegap-Native-App中使用sqlite的局限性感到有些困惑.

你可以阅读很多关于5mb存储限制的帖子,以及你的Ipad可以要求你增加存储空间的事实.

现在,我已经设法使用通常的Phonegap-Storage-API将近7000行插入到我的sqlite数据库中.相应的db文件大小为26 MB.以下select语句“select * from”工作并显示db的内容.
我已经在模拟器和设备上完成了这项工作.我没有得到增加存储空间的问题.

怎么可能?我误解了什么吗?
Phonegap中的sqlite dbs真的有5mb的限制吗?
我正在使用Phonegap 1.2和iOS 5.

解决方法

您可以使用带有phonegap插件的原生sqlite DB(与Websql相同),您将没有任何限制.在iOS5.1中,Websql被认为是可以随时删除的临时数据…该插件数据库保存在Document文件夹中,这意味着数据库不会被删除并由iCloud保存.

这是Native sqlite phonegap插件https://github.com/davibe/Phonegap-SQLitePlugin
关于这个插件,Websql API之间存在一些差异,这里有一个适配器:
https://gist.github.com/2009518

您还应该将旧的Websql db文件(存储在Library / WebKit或Caches目录中)迁移到Document文件夹.这是一个代码
https://gist.github.com/2009491

如果数据很重要,您应该将其保存到服务器.我写了一个小的lib来将sqlite DB同步到服务器:
https://github.com/orbitaloop/WebSqlSync

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...