【发布时间】:2013-05-17 00:16:44
【问题描述】:
我需要下载整个网页并将其存储在应用程序的文档目录中,并在下次用户访问时从缓存中加载。
无论我搜索多少,我总是以ASIWebPageRequest.. 结尾!尽管它可以工作,但它非常古老且已被弃用。所以我正在寻找一些替代品。我试图避免它的另一个原因是因为......
它是一个完全重新实现的 URL 加载系统,基于非常低的 水平结构(CFNetwork)。因此,随着 Apple 对其进行改进 高级库 (NSURLConnection, NSCache) ASIHTTP 没有得到 这些进步。
因此,我尝试了这个sample code from apple,它给了我一个NSData 我提供给它的任何网址。但是,当我尝试使用loadData:MIMEType:textEncodingName:baseURL: 方法将这个NSData 加载到UIWebView 中时,我需要将mimetype 指定为“text/html”,现在网页中的图像和链接不会加载..!
有没有其他方法可以实现它..?也许使用NSURLCache..?但如何?
是否还有其他好的库可供我使用,或者我是否坚持使用 ASIWebPageRequest..?
仅供参考,我需要下载包含所有 js、css 等的整个网页。
【问题讨论】:
-
这是另一个解决问题的教程cocoawithlove.com/2010/09/…
-
@AhmedZ。从 iOS 5 开始,
NSURLCache可以在文件系统上为http存储缓存的内容。您链接的文章是 iOS 4 或更低版本的解决方法。 -
@BobCromwell .. 感谢您指出这一点..
-
我提到了 EVURLCache (github.com/evermeer/EVURLCache) 和一篇不错的文章在这里nshipster.com/nsurlcache...稍加调整,我就能实现它..! @Bob Cromwell,感谢您推荐 NSURLCacheStoragePolicy 和 NSURLCache。
标签: ios ios5 uiwebview asihttprequest nsurlcache