NSURLRequestReturnCacheDataElseLoad
캐시 정책을 사용하여 WKWebview에 웹 페이지를로드합니다. 서버에서 명시 적으로 캐시를 지우지 않으면 캐시를 지울 필요가 없습니다. 서버에서 수행하라는 메시지가 나타나면 캐시를 지우는 데 문제가 있습니다. 그것. NSURLCache는 아이폰 OS 8.4 또는 9.3 시뮬레이터에 하나 나를 위해 작동하도록 얻을 수 없었다 NSURLSession 또는있는 UIWebView .I 제대로 작동하지에 대해 주위 순환 여러 불만이 있기는하지만iOS에서 캐시 디렉토리를 지우는 가장 좋은 방법은 무엇입니까?
답변 및 기사의 대부분은, 그 removeAllCachedResponses
작품을 제안합니다 .
그래서 캐시 된 디렉토리의 모든 파일을 프로그래밍 방식으로 지우려면 다음 코드를 사용했습니다. 내 WKWebview 에서 사용하는 웹 사이트의 캐시 된 파일은 Application/Cache/bundleidentifier에 있습니다. 그러나 나는 내가 할 수있는 모든 파일을 삭제하려고합니다. 코드를 실행하면/스냅 샷 을 삭제하는 중 오류가 발생합니다. 이제는 캐시 디렉토리에있는 다른 파일이 무엇이 었는지 궁금합니다. SDWebImage 캐시를 알고이 디렉토리에있는 다른 파일은 거의 없습니다.하지만 SDWebImage 캐시를 지울 필요가 있습니다.
public func clearCache(){
let cacheURL = NSFileManager.defaultManager().URLsForDirectory(.CachesDirectory, inDomains: .UserDomainMask).first!
let fileManager = NSFileManager.defaultManager()
do {
// Get the directory contents urls (including subfolders urls)
let directoryContents = try NSFileManager.defaultManager().contentsOfDirectoryAtURL(cacheURL, includingPropertiesForKeys: nil, options: [])
for file in directoryContents {
do {
try fileManager.removeItemAtURL(file)
}
catch let error as NSError {
debugPrint("Ooops! Something went wrong: \(error)")
}
}
} catch let error as NSError {
print(error.localizedDescription)
}
}
자,이 좋은 방법입니다 : 여기
내가 분명 캐시 디렉토리에 사용되는 코드입니다? 동일한 결과를 얻기 위해 누락 된 확실한 방법이 있습니까?