프로그래밍/Xcode-iOS
WKWebView WebSiteDataTypeDiskCache 삭제
Mr-후
2020. 7. 1. 17:25
반응형
웹서비스의 캐시 문제로 goBack()이 호출되면 스크립트가 실행되지 않는 문제가 발생.
이에 웹뷰가 로드 되는 시점에 기존 캐시를 지우고 다시 로드 하는 방식으로 문제를 해결.
코드는 다음과 같다.
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
NSURL *url = navigationAction.request.URL;
[[NSURLCache sharedURLCache] removeAllCachedResponses];
NSSet *webstieSet = [NSSet setWithArray:@[WKWebsiteDataTypeDiskCache,
WKWebsiteDataTypeMemoryCache]];
NSDate *date = [NSDate dateWithTimeIntervalSince1970:0];
[[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:webstieSet modifiedSince:date completionHandler:^{}];
}
반응형