2013-09-21 13 views
13

Na iOS7, podczas próby uzyskania dostępu do obiektu localStorage HTML5 przez JavaScript, zatrzymuje wykonywanie Javascript. Działa poprawnie w poprzednich wersjach iOS. Aplikacja działa idealnie, gdy aplikacja jest świeżo zainstalowana i uruchomiona. Ale potem zamykam aplikację i uruchamiam ją ponownie, nie działa i nie udaje się uzyskać dostępu do localStorage.iOS7 nie może uzyskać dostępu do localStorage HTML5, jeśli pliki cookie są wyłączone

Aby wyłączyć cookies, Użyłem poniższy kod:

[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever]; 

Aby uzyskać dostęp localStorage użyłem poniżej kodu:

CGRect rect = self.view.frame; 
UIWebView* webView = [[UIWebView alloc] initWithFrame:rect]; 
[self.view addSubview:webView]; 
[webView loadHTMLString:@"<script>alert('hello world');alert(localStorage);</script>" baseURL:nil] 

I już przez docs iOS7, ale nie mógł znaleźć żadnego aktualizacja związana z tym problemem. Czy ktoś się z tym zmierzył? Prosimy o podzielenie się wszelkimi informacjami na ten temat, byłoby bardzo pomocne. Jakiekolwiek obejścia tego problemu?

Dzięki

+0

Chciałbym usłyszeć, co odkrywasz. mamy ten sam problem. – Crashalot

+0

Nie mogłem znaleźć poprawki. Nie mogę włączyć plików cookie, więc w końcu musiałem zmienić mój kod zarówno po stronie serwera, jak i aplikacji. Zapisuję dane w UserDefaults, komunikuję się ze stroną internetową, wykonuję javascript na moim WebView i używam natywnego mostka Javascript do wywołania mojej strony. Nie jestem pewien, ile ci to pomaga. Ponieważ miałem kontrolę nad kodem po stronie serwera, więc działa on dla mnie. – san

+0

Inną informacją jest to, że zgłosiłem błąd w tym problemie. Apple zamknęło mój raport o błędzie mówiąc, że jest duplikatem innego raportu o błędzie. Co najmniej, oznacza to, że Apple zaakceptowało to jako błąd i mam nadzieję, że go naprawią. Ale Bóg wie, kiedy :) – san

Odpowiedz

-1

Spróbuj:

window.localStorage 

np

[webView loadHTMLString:@"<script>alert('hello world');alert(window.localStorage);</script>" baseURL:nil]; 
+0

@san, czy to działa dla Ciebie? – Crashalot

+0

Testowałem to. To też nie działa. – san

1

przyznała ten jest starszy post, ale FWIW ...

nie wiem, czy ja tego doświadczyłem kwestia. Użyłem localStorage zi bez plików cookie w kilku projektach korzystających z iOS6/7.

loadHTMLString warunkiem wygląda nieco osobliwy mnie ... więc próbowałem to zamiast ...

[webView stringByEvaluatingJavaScriptFromString:@"alert('hello world');alert(localStorage);"]; 

... który pracował dobrze i pokazał przedmiot localStorage zgodnie z oczekiwaniami, z ciasteczka zostały wyłączone.

Testowany w symulatorze i na urządzeniu, iOS7.

Powiązane problemy