使用本地映像文件时清除UIWebView缓存

yel*_*low 21 caching objective-c uiwebview nsdocument ios

我使用UIWebView加载本地html,并且在Objc创建的html中有一个PNG文件.

修改PNG文件后,我在UIWebView中重新加载html,但图像不会改变.但是,如果我退出应用程序并重新打开它,图像文件将更改为新的.

我已经在Documents with Finder中检查了PNG文件,所以我确定它已被修改,但旧的仍在UIWebView中.

所以,我认为这是一个UIWebView缓存问题,我试过:

  • [[NSURLCache sharedURLCache] removeAllCachedResponses];

  • [_webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:url isDirectory:NO ] cachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData timeoutInterval:1]]; 要么 NSURLRequestReloadIgnoringCacheData

它们都不起作用,我无法更改文件名,因为PNG文件在很多地方使用(其他html和objc代码).

我也尝试过这个: some.png?r=randomNumber 但它无法显示出来.

在本地html中使用本地图像文件时,如何清除UIWebView缓存?

eli*_*o.d 2

你可以在你的 AppDelegate.m 中尝试这个

+(void)initialize {
  [[NSURLCache sharedURLCache] setDiskCapacity:0];
  [[NSURLCache sharedURLCache] setMemoryCapacity:0];
}
Run Code Online (Sandbox Code Playgroud)

  • 对我不起作用。本地图像永远不会更新。我有同样的症状,当我退出应用程序并重新启动时,图像会更新。 (5认同)