使用AFNetworking保存/缓存文件并将其用于在线和离线访问

时间:2017-07-17 12:23:31

标签: ios caching uiwebview afnetworking nsurlcache

我们的应用程序在UIWebView中提供内容,可以链接到PDF文件,视频文件,Doc文件等...我们还允许用户通过下载所有内容,在离线模式下访问所有这些内容(Web和链接文件)所需文件。一旦所有文件都在本地可用,即使用户在线,我们也希望Web视图使用这些本地文件。

  1. 如果我们设置足够大的NSURLCache并使用AFNetworking下载 文件并将其保存在磁盘上这将开箱即用吗?
  2. 有没有办法将下载的内容(文件)放入缓存然后 在Web视图中加载内容以便它使用缓存的文件?

1 个答案:

答案 0 :(得分:1)

您可以通过继承AFHTTPSessionManager来实现此目的。在这里,您可以检查客户端是否脱机。然后,您可以更改缓存策略或强制应用程序使用缓存数据。

if (![[AFNetworkReachabilityManager sharedManager] isReachable]) {
    [request setCachePolicy:NSURLRequestReturnCacheDataElseLoad];
}