UIWebView Cache Clear
UIWebViewのキャッシュクリアが地味に面倒だったのでログ
iOS7系のキャッシュクリアがなんか変だった。詳しく調査してないけどこれでうまくうごいた。
やること1
UIAppcalation method
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
とか絶対呼ばれる場所に下を書いておく
// WebViewのキャッシュを削除
[NSURLCache sharedURLCache].memoryCapacity = 0;
[NSURLCache sharedURLCache].diskCapacity = 0;
やること2
UIWebViewDelegate method
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
この辺のリクエスト前でキャッシュクリアした。
if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_7_1) {
// iOS8系
/*
こっちでもキャッシュクリアができた
[[NSURLCache sharedURLCache] removeCachedResponseForRequest:request];
*/
[[NSURLCache sharedURLCache] removeAllCachedResponses];
}
else if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) {
// iOS7系
[NSURLCache sharedURLCache].memoryCapacity = 0;
[NSURLCache sharedURLCache].diskCapacity = 0;
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] removeCachedResponseForRequest:request];
}
else {
// iOS6系
[[NSURLCache sharedURLCache] removeAllCachedResponses];
}