2013-05-22 1 views
3

Je dois télécharger une page Web entière et la stocker dans le répertoire de documents de l'application et la charger à partir du cache lors de la prochaine visite de l'utilisateur.Télécharger et mettre en cache toute la page Web sur ios

Peu importe combien je recherche, je me retrouve toujours avec ASIWebPageRequest .. !! même si, ça marche, c'est très vieux et déprécié. Donc je cherche des alternatives. Une autre raison pour laquelle je suis en train de l'éviter est parce que ....

Il est un système de chargement d'URL complètement réimplémenté, basée sur des constructions très bas niveau (CFNetwork). Donc, comme Apple apporte des améliorations à leurs bibliothèques de haut niveau (NSURLConnection, NSCache) ASIHTTP ne reçoit pas ces progrès.

Par conséquent, j'ai essayé ce sample code from apple, il me donne un NSData de quel url i nourrir. mais, quand j'essaye de charger ce NSData en UIWebView en utilisant, méthode loadData:MIMEType:textEncodingName:baseURL:, j'ai besoin de spécifier le type mime comme "text/html", maintenant les images et les liens dans la page Web ne se chargent pas ..!

Y a-t-il un autre moyen de l'utiliser? peut-être en utilisant NSURLCache ..? mais comment?? Y at-il d'autres bonnes bibliothèques que je peux utiliser ou suis-je coincé avec ASIWebPageRequest ..?

Pour votre information, je dois télécharger la page Web entière avec tous js, css, etc.

+0

Vous pouvez utiliser ce .. http://stackoverflow.com/questions/1162295/library-for-caching-web-pages-on-iphone –

+1

Ceci est un autre tutoriel avec la solution de votre problème http: //www.cocoawithlove .com/2010/09/substituer-local-data-for-remote.html –

+2

@AhmedZ. Depuis iOS 5, 'NSURLCache' pourrait stocker le contenu mis en cache sur le système de fichiers pour' http'. L'article que vous avez lié est une solution de contournement pour iOS 4 ou inférieur. –

Répondre

-1

A propos d'une alternative d'ASI, AFNetworking est beaucoup plus populaire maintenant. Si vous souhaitez mettre en cache votre contenu, vous devriez jeter un oeil à NSURLCacheStoragePolicy et NSURLCache.

+0

J'ai essayé de regarder dans NSURlCache, mais je ne suis pas vraiment capable de comprendre comment réaliser ce que je veux avec ça ..! Ce serait génial si vous pouviez expliquer un peu plus. – akshaynhegde

+0

Je vous suggère de cloner AFNetworking et lire un peu le code de l'échantillon. –

Questions connexes