我有一个iOS应用程序,该应用程序通过将URLRequest与默认cachePolicy一起使用来获取网络资源。我想知道是否:
以下是Apple解释的默认缓存策略的行为:
谢谢。
答案 0 :(得分:2)
这些缓存存储在应用程序容器目录中的文件中(在iOS中,具体为Caches/BUNDLE_ID/Cache.db
;在macOS,IIRC中,具体为Library/Caches/BUNDLE_ID/Cache.db
)。当应用程序消失时,缓存也会消失,据我所知,它们永远不会存储在iCloud备份或任何内容中,因此,它们应该不会重新出现。
但是请注意,其他事物也可以缓存响应(例如,本地网络上的代理服务器),因此,如果您的目标是完全消除获得陈旧响应的任何可能性,则应显式禁用对请求的缓存。
如果您的目标是拥有预热的缓存,则可以在应用捆绑包中分发缓存文件,并在首次启动前对其进行复制,然后再启用磁盘缓存,但是最好下载ZIP存档并进行管理如果您尝试执行任何离线模式,而不是随心所欲地将NSURLCache更改为磁盘上的文件,那么您自己可以将文件保存在磁盘上。