Подтвердить что ты не робот

IOS7 не может получить доступ к локальному хранилищу HTML5, если файлы cookie отключены

На iOS7, пытаясь получить доступ к объекту localStorage HTML5 через JavaScript, останавливает выполнение Javascript. Он корректно работает в предыдущих версиях iOS. Приложение отлично работает, когда приложение обновляется и запускается. Но затем я закрываю приложение и запускаю его снова, он не работает и не работает при доступе к localStorage.

Чтобы отключить файлы cookie, я использовал ниже код:

[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever];

Чтобы получить доступ к localStorage, я использовал ниже код:

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]

Я просмотрел документы iOS7, но не смог найти обновления, связанные с этой проблемой. Кто-нибудь сталкивался с этим тоже? Пожалуйста, поделитесь любой информацией об этом, было бы очень полезно. Какие-нибудь обходные пути для этого?

Спасибо

4b9b3361

Ответ 1

Предоставлено это более старое сообщение, но fwiw...

Не уверен, что я столкнулся с этой проблемой. Использовали localStorage с файлами cookie и без них в нескольких проектах с помощью iOS6/7.

Представленная loadHTMLString выглядит немного странной для меня... поэтому я попробовал это вместо этого...

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

..., который отлично работал и показал объект localStorage, как и ожидалось, с отключенными cookie.

Протестировано в sim и на устройстве iOS7.

Ответ 3

Try:

window.localStorage

например:

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