Скачать и кэшировать всю веб-страницу на ios

Мне нужно загрузить всю веб-страницу и сохранить ее в каталоге документов приложения и загрузить из кеша при следующем посещении пользователем.

Сколько бы я ни искал, я всегда получаю ASIWebPageRequest..!! хотя он работает, он очень старый и устаревший. Поэтому я ищу некоторые альтернативы. Другая причина, по которой я пытаюсь этого избежать, заключается в том, что...

Это полностью переработанная система загрузки URL, основанная на конструкциях очень низкого уровня (CFNetwork). Так как Apple вносит улучшения в свои высокоуровневые библиотеки (NSURLConnection, NSCache), ASIHTTP не получает этих улучшений.

Поэтому я попробовал этот пример кода от Apple. Он дает мне NSData любого URL-адреса, который я ему передаю. но когда я пытаюсь загрузить этот NSData в UIWebView с помощью метода loadData:MIMEType:textEncodingName:baseURL:, мне нужно указать mimetype как "text/html" , теперь изображения и ссылки на веб-странице не загружаются ..!

Есть ли другой способ, которым я могу это достичь? возможно, используя NSURLCache..? но как?? Есть ли другие хорошие библиотеки, которые я могу использовать, или я застрял с ASIWebPageRequest ..?

К вашему сведению, мне нужно загрузить всю веб-страницу со всеми js, css и т. д.


person akshaynhegde    schedule 22.05.2013    source источник
comment
Вы можете использовать это. .com/questions/1162295/   -  person Ahmed Z.    schedule 22.05.2013
comment
Это еще одно руководство с решением вашей проблемы cocoawithlove.com/ 2010/09/   -  person Ahmed Z.    schedule 22.05.2013
comment
@АхмедЗ. Начиная с iOS 5, NSURLCache может хранить кэшированный контент в файловой системе для http. Статья, на которую вы ссылаетесь, является обходным путем для iOS 4 или ниже.   -  person Bob Cromwell    schedule 22.05.2013
comment
@BobCromwell .. спасибо, что определили это ..   -  person Ahmed Z.    schedule 22.05.2013
comment
Я ссылался на EVURLCache (github.com/evermeer/EVURLCache) и на хорошую статью здесь nshipster.com/nsurlcache... с некоторыми небольшими изменениями я могу добиться этого..! @Bob Cromwell, спасибо за предложение NSURLCacheStoragePolicy и NSURLCache.   -  person akshaynhegde    schedule 22.05.2013
comment
@akshaynhegde Принять мой ответ?   -  person Bob Cromwell    schedule 22.05.2013


Ответы (1)


Что касается альтернативы ASI, AFNetworking сейчас гораздо популярнее. Если вы хотите кэшировать свой контент, вам следует взглянуть на NSURLCacheStoragePolicy и NSURLCache.

person Bob Cromwell    schedule 22.05.2013
comment
Я попытался заглянуть в NSURlCache, но точно не могу понять, как добиться с его помощью того, чего я хочу..! Было бы здорово, если бы вы могли объяснить немного больше. - person akshaynhegde; 22.05.2013
comment
Я предлагаю вам клонировать AFNetworking и немного прочитать пример кода. - person Bob Cromwell; 22.05.2013