2017-07-17 46 views
3

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

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

回答

1

您可以通过子类AFHTTPSessionManager来实现此目的。在这里你可以检查客户端是否离线。然后,您可以更改缓存策略或强制应用使用缓存数据。

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

看看教程:http://www.hpique.com/2014/03/how-to-cache-server-responses-in-ios-apps/