我们使用 .manifest 缓存机制开发了一个离线 HTML5 网络应用程序。一切都按预期工作。
现在我们的一些客户抱怨在长时间离线使用后,缓存的数据突然消失了。事实证明——这是我的猜测——iOS 将缓存文件存储在其 /CACHES/ 目录中,从 iOS 5.0 开始,如果设备空间不足,该目录可能会被清除。这可能随时发生,甚至不会向用户发出警告。因此,离线 web 应用程序不再正常运行。用户必须将设备重新连接到互联网并更新应用程序。
对于本机应用程序,此问题通过将文件存储在 /DOCUMENTS/ 目录中解决,使用标志“不备份”防止文件被清除(因为它们不位于 /CACHES/ 目录中,并且不是备份到 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/
有没有人有同样的经历?有针对这个的解决方法吗?目标是安装一次网络应用程序,然后在没有连接的情况下“永远”运行它......
干杯,帕维