2012-10-21 38 views
8

我有一個拉網站的部件爲UIWebViews中的應用程序。這些頁面使用本地存儲來保持狀態,像上次查看的東西和各種設置等HTML 5本地存儲不工作在的UIWebView在iOS 6,7或8

我看到UIWebViews本地存儲正在創建(通過Web調試器與設備和應用程序連接到調試機器),但後清除後的應用程序被關閉。相關頁面在標準瀏覽器甚至Mobile Safari的主站點上正常工作,但不在UIWebViews中?

我已經挖四周,看到iOS6的更改本地存儲緩存的一些議論,但我沒有得到的,如果這可以工作或沒有明顯的感覺,如果是的話如何啓用它?

任何人在那裏有一個明確的答案,纔不得不改用餅乾或做一些在服務器端?

謝謝。

回答

5

* UPDATE *
定的iOS漏洞,報告爲:#12546916
不固定於iOS:NSUserDefaults的中時設置8.3

的UIWebView忽略WebKitStoreWebDataForBackup關鍵。

*原貼*
這NSUserDefaults的關鍵在iOS 6的面世:

WebKitStoreWebDataForBackup = YES 

我們把它在我們ApplicationDelegate的,像這樣的頂級:

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

的iOS 6發佈筆記在這裏討論:Release Notes。它應該告訴WebKit UIWebView LocalStorage不是一次性的,並導致它被放置在非一次性位置。

顯然不工作。 iOS會忽略WebKitStoreWebDataForBackup,並在應用程序關閉或頁面刷新時刪除LocalStorage。

調試就可以看到創建的本地存儲過程中使用Web檢查,但隨後後應用程序關閉並重新啓動它不見了。

有問題的HTML/JS頁面沒有工作在火狐,Chrome,Safari和移動Safari瀏覽器查看時,而不是在頁面中的UIWebView中查看。

+0

有沒有更新是蘋果固定的東西或不? –

+0

未通過Bug Reporter通知該錯誤是「已修復」的。他們已通知我其他人,所以我希望他們也這樣做。 –

+0

我一直無法在6.1.3或6.1.4中重現此錯誤。其他人在早期版本中重現此錯誤? – iphone007