【问题标题】:How to clear Titanium Webview's cache for iOS devices如何清除 iOS 设备的 Titanium Webview 缓存
【发布时间】:2016-03-01 21:50:13
【问题描述】:

所以我只需将其 cacheMode 属性设置为 Titanium.UI.Android.WEBVIEW_LOAD_NO_CACHE 即可清除 Android 设备的 Webview 缓存。按预期工作。

但是,在谷歌搜索了几个小时并浏览了一堆旧的 Titanium 论坛帖子之后,我终生无法找到适用于 iOS 设备的等效设置。我尝试将 cache 属性设置为 false 并将 autoDetect 设置为 [Ti.UI.AUTODETECT_NONE]。我在 URL 的末尾附加了一个随机数——我什至尝试了一个直接修改 SDK 的 ObjC 文件的建议,但这只会清除 cookie 而不是 webview 的缓存。

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

非常感谢任何帮助。

【问题讨论】:

    标签: titanium


    【解决方案1】:

    请查看my answer 解决相同问题的旧问题(适用于Android)。据我所知,从那以后一切都没有改变。

    也许它可以帮助您“回收”您的 webView 对象?这只是一个想法,我自己没有尝试过,但是如果您在想要清除缓存时将 webView 对象替换为 webView 的新实例,则缓存应该是空的。请仅在您确实需要时尝试此操作,因为它很hacky,会产生丑陋的代码并且可能会导致性能问题!

    【讨论】:

    • 感谢您的链接,罗宾。您提供的解决方案是我们在 Android 上使用的确切实现,它就像一个魅力。我们最大的障碍是能够专门清除 iOS 中的 Web 视图缓存,尽管提供的答案似乎已经解决了这个问题。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-10-10
      • 1970-01-01
      • 2012-05-28
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      相关资源
      最近更新 更多