UIWebView(phonegap)中WebSQL / SQLite数据库的最大大小是多少?

10

这个问题似乎以前已经被问过,但我没有找到令人满意的答案。
在创建IOS Phone Gap应用程序时,或者在IPAD上创建任何HTML5应用程序时,是否存在将编译为本地应用程序时数据库大小的限制?我知道一般来说Web应用程序的本地存储有一个5MB的限制。原生Web视图应用程序是否也存在这种限制?

1个回答

19

是的,WebKit数据库也限制在5mo。

你可以使用以下解决方案欺骗系统:https://issues.apache.org/jira/browse/CB-330?focusedCommentId=13237796&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13237796

或者你可以使用一个与WebSQL相同的本地SQLite数据库,并结合phonegap插件。该插件将数据库保存在文档文件夹中(或者您可以指定另一个文件夹),而且没有大小限制,数据可以通过iCloud保存。(但要注意,苹果不喜欢应用程序浪费iCloud存储空间)

这是原生SQLite phonegap插件:https://github.com/davibe/Phonegap-SQLitePlugin 关于该插件,WebSQL API有一些差异,这里提供一个适配器:https://gist.github.com/2009518

如果数据很重要,你应该将其保存到服务器上。我编写了一个小型库来将SQlite数据库与服务器同步:https://github.com/orbitaloop/WebSqlSync


请注意,Webkit数据删除问题已经解决:在iOS 6及更高版本中,UIWebView对象的Web数据(SQL Web Storage和LocalStorage)可以存储在一个将被备份的目录中。要启用此数据的备份,请在应用程序的用户默认设置中将WebKitStoreWebDataForBackup键设置为YES。只有在您的应用程序依赖于无法重新加载的Web内容数据时,才应执行此操作。如果您的UIWebView对象打开任意Web内容链接,则应将此键设置为NO。切换此键的值不会保留现有的Web视图数据。 - Du Song

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接