HTML 5 Lokaler Speicher funktioniert nicht in UIWebView auf iOS 6, 7 oder 8

8

Ich habe eine App, die Teile einer Website in UIWebViews zieht. Diese Seiten verwenden den lokalen Speicher, um den Status beizubehalten, wie zuletzt angezeigt und verschiedene Einstellungen usw.

Ich sehe, dass der lokale UIWebView-Speicher erstellt wird (über den Web Inspector mit dem Gerät und der App, die mit dem Debug-Gerät verbunden sind), aber dann gelöscht wird, nachdem die App heruntergefahren wurde. Die relevanten Seiten funktionieren auf der Hauptseite in Standardbrowsern und sogar Mobile Safari, aber nicht in den UIWebViews?

Ich habe gegraben und sehe etwas über Änderungen an Local Storage Cache mit iOS6, aber ich verstehe nicht, ob das funktionieren kann oder nicht, und wenn ja, wie kann ich es aktivieren?

Jemand da draußen hat eine definitive Antwort, bevor wir auf die Verwendung von Cookies oder etwas auf der Serverseite umsteigen müssen?

Danke.

    
Cliff Ribaudo 21.10.2012, 18:26
quelle

1 Antwort

5

* UPDATE *
Definite iOS Bug, gemeldet als: # 12546916

Nicht behoben ab iOS: 8.3

UIWebView ignoriert WebKitStoreWebDataForBackup Schlüssel, wenn in NSUserDefaults festgelegt.

* Originalbeitrag *
Dieser Schlüssel NSUserDefaults wurde in iOS 6 verfügbar:

%Vor%

Wir setzen es oben auf unserem ApplicationDelegate wie folgt:

%Vor%

iOS 6 Versionshinweise finden Sie hier: Versionshinweise . Es soll WebKit mitteilen, dass UIWebView LocalStorage nicht wegwerfbar ist und dafür sorgt, dass es an einem nicht verfügbaren Ort abgelegt wird.

Es funktioniert eindeutig nicht. iOS ignoriert WebKitStoreWebDataForBackup und löscht LocalStorage, wenn die Anwendung heruntergefahren wird oder die Seite aktualisiert wird.

Wenn Sie den Web Inspector während des Debuggens verwenden, ist es möglich, den erstellten lokalen Speicher zu sehen, aber nachdem die App heruntergefahren und neu gestartet wurde, ist sie verschwunden.

Die betreffende html / js-Seite funktioniert, wenn sie in Firefox, Chrome, Safari UND Mobile Safari angezeigt wird, aber NICHT, wenn die Seite in UIWebView angezeigt wird.

    
Cliff Ribaudo 22.10.2012, 16:04
quelle

Tags und Links