2012-10-21 13 views
8

Mam aplikację, która wciąga części witryny do UIWebViews. Strony te używają pamięci lokalnej do zachowania stanu, jak ostatnio oglądane i różne ustawienia, itp.HTML 5 Lokalne przechowywanie nie działa w UIWebView na iOS 6, 7 lub 8

Widzę tworzoną lokalną pamięć masową UIWebView (za pośrednictwem przeglądarki sieciowej z urządzeniem i aplikacją podłączoną do komputera debugującego), ale następnie wyczyszczoną po aplikacji jest zamknięty. Odpowiednie strony działają poprawnie na stronie głównej w standardowych przeglądarkach, a nawet na Mobile Safari, ale nie na UIWebViews?

Przeszukuje i widzę niektóre rozmowy o zmianach w pamięci podręcznej lokalnej pamięci masowej z iOS6, ale nie mam jasności, czy to działa, czy nie, a jeśli tak, to jak to włączyć?

Ktoś tam ma ostateczną odpowiedź, zanim będziemy musieli przejść na używanie plików cookie lub zrobić coś po stronie serwera?

Dzięki.

Odpowiedz

5

* AKTUALIZACJA *
Zdecydowana iOS bug, zgłaszane jako: # 12546916
nie została ustalona jako iOS 8.3

UIWebView ignoruje WebKitStoreWebDataForBackup klawisz gdy ustawiony w NSUserDefaults.

* Oryginalny post *
Ten klucz NSUserDefaults stały się dostępne w iOS 6:

WebKitStoreWebDataForBackup = YES 

Stawiamy go na szczycie naszej ApplicationDelegate tak:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"WebKitStoreWebDataForBackup"]; 

iOS 6 wydania Notatki omawiają tutaj: Release Notes. Powinien on poinformować WebKit, że UIWebView LocalStorage nie jest jednorazowy i powoduje umieszczenie go w lokalizacji, która nie jest do dyspozycji.

Oczywiście nie działa. iOS ignoruje numer WebKitStoreWebDataForBackup i usuwa LocalStorage po zamknięciu aplikacji lub odświeżeniu strony.

Podczas korzystania z Web Inspector podczas debugowania możliwe jest utworzenie lokalnej pamięci masowej, ale po wyłączeniu aplikacji i ponownym uruchomieniu jej nie ma.

Strona html/js działa, gdy jest wyświetlana w przeglądarkach Firefox, Chrome, Safari i Mobile Safari, ale NIE, gdy strona jest wyświetlana w interfejsie UIWebView.

+0

Czy są jakieś aktualizacje, czy to naprawiono, czy nie? –

+0

Nie otrzymałem żadnego powiadomienia za pośrednictwem Bug Reporter, że błąd jest "Naprawiono". Powiadomili mnie o innych, więc mam nadzieję, że oni też to zrobią. –

+0

Nie mogłem odtworzyć tego błędu w 6.1.3 ani 6.1.4. Ktoś jeszcze odtworzyć tego błędu we wcześniejszych wersjach? – iphone007

Powiązane problemy