2012-02-02 25 views
10

Parece que se me preguntó antes, pero no encontré una respuesta satisfactoria.
Al crear una aplicación de intervalo de teléfono IOS, ¿cualquier aplicación html5 en un iPad es su restricción al tamaño de la base de datos cuando se compila en una aplicación nativa? Sé que, en general, hay un límite de 5 MB para el almacenamiento nativo para aplicaciones web. ¿Esta limitación también existe para las aplicaciones nativas de visualización web?Tamaño máximo de la base de datos WebSQL/SQLite dentro de UIWebView (phonegap)

Respuesta

19

Sí, la base de datos de WebKit también está limitada a 5mo.

Usted puede engañar al sistema con esta solución: https://issues.apache.org/jira/browse/CB-330?focusedCommentId=13237796&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13237796

o puede utilizar una base de datos SQLite nativo (igual que WebSQL) con un plugin PhoneGap. Ese complemento guarda la base de datos en la carpeta del documento (o puede especificar otra carpeta), y no hay límite de tamaño y iCloud guarda los datos. (Pero tenga cuidado, Apple no me gusta mucho desperdicio de aplicaciones de almacenamiento de iCloud)

Aquí es el plug-in nativo SQLite PhoneGap: https://github.com/davibe/Phonegap-SQLitePlugin En cuanto a este plugin, hay algunas diferencias entre la API WebSQL, aquí es un adaptador: https://gist.github.com/2009518

Y si los datos son importantes, debe guardarlos en un servidor. Escribí una lib pequeña para sincronizar la base de datos SQlite a un servidor: https://github.com/orbitaloop/WebSqlSync

+1

¿Qué hay de Android? –

+0

Solo tenga en cuenta que el problema de eliminación de datos de Webkit ha desaparecido: en iOS 6 y posterior, los datos web (SQL Web Storage y LocalStorage) de un objeto UIWebView se pueden almacenar en un directorio del que se realizará una copia de seguridad. Para habilitar la copia de seguridad de estos datos, establezca la clave WebKitStoreWebDataForBackup en SÍ en los valores predeterminados de usuario de su aplicación. Esto debe hacerse solo si su aplicación se basa en datos de contenido web que no se pueden volver a cargar. Si su objeto UIWebView abre enlaces a contenido web arbitrario, esta clave debe establecerse en NO. Alternar el valor de esta tecla no conservará los datos existentes de la vista web. –

Cuestiones relacionadas