Apple은 iOS 5.0부터 디스크 캐싱을 지원합니다. 이전에 가정용 솔루션을 사용했지만, 과거에는 이상한 행동을 보았 기 때문에 마침내 사용하기를 희망하여 NSURLCache
을 테스트하고 있습니다.NSURLCache는 만료 된 캐시 응답을 제거합니까?
더 복잡한 문제 중 하나는 cachedResponseForRequest:
이 만료 된 요청을 반환한다는 것입니다. 나는 내가 사용하고있는 iPhone에서 시계를 앞으로 세워서 테스트를 해왔다. 헤더를 파싱하면 장치 시간이 만료 날짜보다 앞서 있음을 명확하게 알 수 있습니다.
일정한 간격으로 만료 된 요청을 제거하는 백그라운드 작업이있을 수 있습니다. 요청이 "자연스럽게"만료되는지 실제로 기다리는 테스트를 수행했으며 그렇지 않은 경우도 있습니다.
애플은 캐시 무효화를 올바르게 구현하지 않았습니까?
Charles 프록시를 사용하여 테스트하고 있습니다. 그것은 tough problem이고 캐시 무효화를 구현해야하는 사람은 부러워하지 않지만 iOS는 이제 성숙한 SDK로 간주됩니다.
+1 흥미로운 문제입니다. – Till
1 년 후 동일한 문제가 발생하지만 캐시 된 응답은 만료되지 않습니다. http://stackoverflow.com/questions/18747090/nsurlcache-cached-response-doesnt-expire – Michal