2013-05-22 30 views
3

我需要下載整個網頁並將其存儲在應用程序的文檔目錄中,並在下次用戶訪問時從緩存中加載它。在ios上下載並緩存整個網頁

無論我搜索多少,我總是以ASIWebPageRequest ..結束.. !!儘管它的工作原理非常古老而且不推薦。所以我正在尋找一些替代品。我想,以避免它的另一個原因是因爲....

它是一個完全重新實現URL加載系統,基於非常低的水平 結構(CFNetwork的)。因此,當蘋果對其高級庫(NSURLConnection,NSCache)進行改進時,ASIHTTP並沒有得到 的進步。

因此,我想這sample code from apple,它給我的任何一個網址我給它一個NSData。但是,當我嘗試使用loadData:MIMEType:textEncodingName:baseURL:方法將NSData加載到UIWebView方法中時,我需要將mimetype指定爲「text/html」,現在網頁中的圖像和鏈接不加載。

有沒有其他方法可以用來實現它..?也許使用NSURLCache ..?但如何? 有沒有其他好的圖書館ou那裏,我可以使用或者我堅持與ASIWebPageRequest ..?

僅供參考,我需要下載整個網頁與所有JS,CSS等

+0

您可以使用此.. http://stackoverflow.com/questions/1162295/library-for-caching-web-pages-on-iphone –

+1

這是您的問題的解決方案的另一個教程http://www.cocoawithlove .com/2010/09/replace-local-data-for-remote.html –

+2

@AhmedZ。從iOS 5開始,'NSURLCache'可以在文件系統中爲'http'存儲緩存的內容。您鏈接的文章是針對iOS 4或更低版本的解決方法。 –

回答

-1

關於ASI的替代,AFNetworking是更受歡迎了。如果你想緩存你的內容,你應該看看NSURLCacheStoragePolicyNSURLCache

+0

我試圖調查NSURlCache,但我不完全能夠弄清楚如何實現我想要的東西..!如果你能多解釋一點,那將是非常棒的。 – akshaynhegde

+0

我建議你克隆AFNetworking並閱讀一下示例代碼。 –