Saving/Caching 个文件使用 AFNetworking 并将其用于在线和离线访问

Saving/Caching files using AFNetworking and using it for online and offline access

我们的应用程序在 UIWebView 中提供内容,可以 link PDF 文件、视频文件、文档文件等...我们还允许用户访问所有这些内容(Web 和 linked 文件)在离线模式下下载所有需要的文件。一旦所有文件都在本地可用,我们希望网络视图即使在用户在线时也能使用这些本地文件。

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

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

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