UIWebView
에 웹 응용 프로그램을 표시하고 때로는 페이지의 내용이 변경됩니다. 콘텐츠가 변경되면 앱이 캐시를 지 웁니다.UIWebView의 내부 캐시를 제거하십시오.
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
초기에는 더 나는로드 해요 : 내가 이전에 HTTP GET 요청을 전송하지 않습니다 UIWebView
을 방문했던 페이지로 이동하지만, 때 캐시에서로드 나는 장애인 캐시과 같이했습니다에도 불구하고 cachePolicy로 요청 (cachePolicy:NSURLRequestReturnCacheDataElseLoad
).
[self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:myURLString] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:10.0]];
UIWebView
에는 내부 캐시가 있습니다. 이미 방문한 페이지는 NSURLCache
을 거치지 않고이 내부 캐시에서로드되며 요청이 전송되지 않습니다.
UIWebView
의 내부 캐시를 지울 수있는 방법이 있습니까? 나는 심지어 UIWebView
을 다시 만들고 있지만 캐시는 여전히 존재합니다.
해결책을 시도해 보셨습니까? http://stackoverflow.com/a/14096331/1749367 – helper
예, 이러한 솔루션을 사용하여 성공한 것은 내가 원하는 것을 위해 효과가 없습니다. –
HTTP 응답 헤더의 Cache-Control 속성을 max-age = 0으로 설정하여 문제를 해결했습니다. 그런 다음 매번 자원에 대한 요청이 전송됩니다. 이를 해결하는 방법은 파일이 마지막 캐시 제거 이후에 요청되었는지를 계속 추적하고, 마지막 제거 후에 자원이 두 번째로로드 될 때 max-age를 다른 값 (예 : 3600)으로 설정할 수 있습니다. –