Iphone NSURLConnection缓存持久性

Iphone NSURLConnection缓存持久性,iphone,objective-c,ios,caching,Iphone,Objective C,Ios,Caching,在iOS 5中,如果我的应用程序被终止,我的NSURLConnection缓存就会被吹走。即使我的应用程序被终止并重新启动,我如何保持NSURLConnection缓存?只要我的应用程序保持活动状态,缓存就可以很好地工作 我正在NSURLRequest中使用NSURLRequestUseProtocolCachePolicy “我的服务器”返回的示例标头: Cache-Control:public, max-age=3600 Content-Encoding:deflate Content-Le

在iOS 5中,如果我的应用程序被终止,我的NSURLConnection缓存就会被吹走。即使我的应用程序被终止并重新启动,我如何保持NSURLConnection缓存?只要我的应用程序保持活动状态,缓存就可以很好地工作

我正在NSURLRequest中使用
NSURLRequestUseProtocolCachePolicy

“我的服务器”返回的示例标头:

Cache-Control:public, max-age=3600
Content-Encoding:deflate
Content-Length:1606
Content-Type:application/json; charset=utf-8
Date:Sun, 16 Sep 2012 20:22:14 GMT
Expires:Sun, 16 Sep 2012 21:22:15 GMT
Last-Modified:Sun, 16 Sep 2012 20:22:15 GMT
Vary:*

如果我的应用程序在5分钟后终止并重新启动,则会尝试完全重新下载(通过Charles http listener验证).

这似乎是因为我没有设置磁盘缓存大小。即使应用程序被终止,将其设置为500MB似乎也会保留我的缓存。

除此之外,这取决于远程服务(服务器)设置的缓存头。确保你引用了一个相关的问题以获得更好的帮助。谢谢你更新你的问题-事实上,你的服务器在一个小时的时间内要求正确的缓存。现在您需要的是磁盘缓存,它在iOS5之前已经被禁用(如果我没记错的话)。请务必阅读以下关于这个问题的优秀文章:那么在iOS 5+中,我需要额外的代码吗?谢谢,我也有同样的问题。这样设置diskCapacity可以使缓存工作,即使应用程序被终止并重新启动:
NSURLCache*cache=[NSURLCache sharedullcache];/*50 MB缓存*/[缓存设置磁盘容量:1024*1024*50]我有一个普通的12 MB缓存,它似乎根本没有使用它。有没有遇到过这个问题?您的http头中有什么内容?