2012-10-24 146 views
4

我們使用.manifest緩存機制開發了一個離線HTML5 web應用程序。一切都按預期進行。iOS清除HTML5離線緩存數據

現在我們的一些客戶抱怨說,經過長時間的離線使用後,緩存的數據突然消失了。事實證明 - 這是我的猜測 - iOS將緩存的文件存儲在其/ CACHES /目錄中,從iOS 5.0開始,如果設備空間不足,它將被清除。這可以隨時發生,甚至不會對用戶發出警告。因此,離線webapp不再正常運行。用戶必須將設備重新連接到互聯網並更新應用程序。

對於原生應用程序,通過將文件存儲在/ DOCUMENTS/dir中,使用標記'不備份'來防止文件被清除(因爲它們不在/ CACHES/dir中,而不是備份到iCloud或iTunes

請參閱此鏈接的詳細信息:http://www.marco.org/2011/10/13/ios5-caches-cleaning,但是這並沒有說關於HTML5緩存什麼...

這一次再次解釋了它,但是沒有辦法解決:http://www.moneytoolkit.com/2012/04/apple-ios-html5-localstorage-is-broken/

有沒有人經歷過相同的情況?有沒有解決方案?目標是要安心LL一個web應用程序一次,然後運行它無需連接「永遠」 ......

乾杯,pawi

回答

0

有沒有辦法解決這個在Safari。緩存永遠不會被認爲是永久性的。

如果您在原生應用程序內有UIWebView,則可以將WebKitStoreWebDataForBackup設置爲YES作爲您的用戶默認值。 (僅適用於iOS 6+)

+0

Hi Chirs,thx爲您的答案。是的,那就是我不希望聽到的;-)蘋果應該改變這種行爲...... – pawi