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

How to clear Titanium Webview's cache for iOS devices

所以我可以通过简单地将 cacheMode 属性 设置为 [=31 来清除 Android 设备的 Webview 缓存没有问题=]。按预期工作。

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

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

非常感谢任何帮助。

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

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

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

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