기본적으로 UIWebView가 있고 외부 리소스에서 내 웹 응용 프로그램을로드하는 Cordova/Phonegap을 사용하여 iOS 응용 프로그램을 작성합니다. (iOS6 +)NSURLCache가 다시 시작한 후 디스크에서로드되지 않습니다.
이 웹 응용 프로그램을 실행하려면 450kb의 HTML이 필요하며, 변경 사항이 없을 때이 파일을 캐시하고 싶습니다. (변경을 격주)이 들어
, 나는 초기화하는 동안 내 AppDelegate에있는 NSURLCache을 설정 해요 : 응용 프로그램이로드 된 후
이NSURLCache *URLCache = [[NSURLCache alloc] initWithMemoryCapacity:4 * 1024 * 1024
diskCapacity:20 * 1024 * 1024
diskPath:nil];
[NSURLCache setSharedURLCache:URLCache];
, 파일이 현재 캐시되어, 나는 도서관에서 찾을 수 있습니다/Caches/APPName/fsCachedData.
내가 요청을 볼 수 CharlesProxy을 사용하고, 앱을 한 번로드되면, 모든 다시로드 해당 파일 여기
에, 수정되지, 304을 반환은 문제
모든입니다 내가 파일을 캐시 폴더에 있지만 iOS 응용 프로그램을 열 때, 그것은 서버에서 다시로드하고 가장 최근 버전을 저장합니다. If-modified-since는 첫 번째 요청에서 요청 매개 변수로 설정되지 않고 다음 매개 변수로 설정됩니다.
디스크에서 NSURLCache를로드하기 위해 Xcode에 명시 적으로 요청해야하는지 확실하지 않거나 제대로 설정하지 않았습니다.
아무도 프로세스에서 문제를 볼 수 있습니까?
추가 정보 :을-검증해야합니다
캐시 제어는 = 31536000 개인, 최대 사용 기간입니다. NSURLRequest cachePolicy는 NSURLRequestUseProtocolCachePolicy입니다.
감사합니다.