我正在使用基本上具有UIWebView並從外部資源加載我的Web應用程序的Cordova/Phonegap構建iOS應用程序。 (iOS6 +)NSURLCache在重新啓動後不從磁盤加載
這個web應用程序需要一個450kb的HTML運行,並且我希望在沒有對其進行更改時緩存此文件。 (更改每隔一週)
對於這一點,我在初始化過程中在我的AppDelegate設立NSURLCache:
NSURLCache *URLCache = [[NSURLCache alloc] initWithMemoryCapacity:4 * 1024 * 1024
diskCapacity:20 * 1024 * 1024
diskPath:nil];
[NSURLCache setSharedURLCache:URLCache];
應用程序加載完畢後,文件現在緩存,並且我可以找到他們的圖書館/高速緩存/ APPNAME/fsCachedData。
我使用CharlesProxy看到的要求,如果應用程序被加載一次,所有的重載返回304,不修改,該文件
這裏的問題是
每我打開iOS應用程序,儘管該文件位於緩存文件夾中,但它會從服務器再次加載並保存最新版本; If-modified-since在打開後未在第一個請求中設置爲請求參數,但是是以下幾個。
我不確定是否需要明確要求Xcode從磁盤加載NSURLCache,或者我沒有正確設置它。
任何人都可以在過程中看到問題嗎?
更多信息:
緩存控制是私人,最大年齡= 31536000,必重新驗證。 NSURLRequest cachePolicy是NSURLRequestUseProtocolCachePolicy。
謝謝!