20

首先,我很确定我已经检查了这里的每个答案,并且没有做我想做的事情。

  1. 在这个问题中,给出了 ASIHTTPRequest 的答案,这是一个死项目。(如何在 iPhone 上下载整个网页(带图片)?
  2. 在这个问题中,用户提出了 RNCachingURLProtocol,这确实很棒,但是在完全关闭应用程序(在任务栏中关闭它)后我遇到了一些问题。之后我没有得到 css 或图像,只加载了 html。(缓存单个网页以供在 Xcode/UIWEBVIEW 中脱机时使用)。

还有几个答案,但没有一个是好的。我正在搜索的内容必须有一些简单的实现。

我想:当应用程序打开时,它会加载一些网页。我想完全保存该网页。现在用户可以退出或做任何他想做的事(只是不卸载)。只要有一些互联网连接(我使用可达性类检查),网页就会正常加载并被保存。如果用户打开应用程序并且没有互联网连接,我只想显示“它可能不是最新的 bla bla boa”的消息,并显示上次应用程序有互联网连接时保存的完整、保存的网页。

保存完整网页的最佳方式(最新)是什么。我发现了一些关于 MKNetworkKit 的东西,但我不知道如何使用它。任何帮助,将不胜感激。

4

2 回答 2

7

听起来标准缓存还不够好,因为您无法控制缓存的内容和缓存时间。解决这个问题的最简单方法是通过覆盖 NSURLCache 创建自己的缓存机制。您可以在http://nshipster.com/nsurlcache/找到一些相关文档,并在http://github.com/evermeer/EVURLCache找到一个示例该示例甚至允许您使用可以包含在您的应用程序中的预填充缓存安装。

于 2013-05-30T07:22:42.927 回答
6
NSString *stringurl=[NSString stringWithFormat:@"http://www.google.com"];
NSURL *url=[NSURL URLWithString:stringurl];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:15.0];
[uiwebview loadRequest:theRequest];

URL 加载系统提供对请求的响应的复合磁盘和内存缓存。此缓存允许应用程序减少对网络连接的依赖并提高其性能。

于 2014-10-03T06:49:49.297 回答