代码之家  ›  专栏  ›  技术社区  ›  dfeddon

如何清除Titanium Webview的iOS设备缓存

  •  3
  • dfeddon  · 技术社区  · 8 年前

    所以我可以通过简单地设置Webview的缓存来清除Android设备的缓存 缓存模式 属性到 钛.UI.Android.WEBVIEW_LOAD_NO_CACHE 。按预期工作。

    然而,在谷歌上搜索了几个小时,浏览了大量旧的Titanium论坛帖子后,我一辈子都找不到iOS设备的同等设置。我试过设置 隐藏物 属性到 自动检测 [Ti.UI.AUTODETECT_NONE] 。我在URL的末尾添加了一个随机数字——我甚至尝试过一个建议,直接修改SDK的ObjC文件,但这只清除了cookie,而不是webview的缓存。

    最后,我知道可以通过重新安装应用程序或重置模拟器的内容和设置来实现这一点,但这根本不是一个选项,因为加载的页面随时可能更改。

    任何帮助都非常感谢。

    2 回复  |  直到 8 年前
        1
  •  0
  •   Community Egal    7 年前

    请看一下 my answer 一个解决相同问题的老问题(对于Android)。据我所知,从那以后没有什么变化。

    也许它可以帮助你“回收”你的webView对象?这只是一个想法,我自己也没有尝试过,但如果你想清除缓存时用webView的新实例替换webView对象,缓存应该是空的。如果你真的需要,请尝试一下,因为它是黑客,产生丑陋的代码,可能会导致性能问题!

        2
  •  0
  •   dfeddon    8 年前

    因此,此链接为iOS提供了最佳解决方案,尽管它需要 手动 删除Ti.Filesystem。特定应用程序的applicationCacheDirectory。

    https://gist.github.com/MotiurRahman/10109159