2017-07-17 2 views
3

Notre application sert du contenu dans UIWebView qui peut lier aux fichiers PDF, fichiers vidéo, fichiers Doc etc ... Nous permettons également à l'utilisateur d'accéder à tout ce contenu (Web et les fichiers liés) en mode déconnecté en téléchargeant tous les fichiers requis. Une fois que tous les fichiers sont disponibles localement, nous aimerions que la vue Web utilise ces fichiers locaux même lorsque l'utilisateur est en ligne.Sauvegarde/Mise en cache de fichiers en utilisant AFNetworking et l'utiliser pour un accès en ligne et hors ligne

  1. Si nous installons assez grand NSURLCache et utiliser AFNetworking pour télécharger les fichiers et l'enregistrer sur le disque cela fonctionnera de la boîte?
  2. Y at-il un moyen de mettre le contenu téléchargé (fichiers) dans le cache, puis charger le contenu dans la vue Web de sorte qu'il utilise les fichiers mis en cache?

Répondre

1

Vous pouvez réaliser ceci en sous-classant le AFHTTPSessionManager. Ici vous pouvez vérifier si le client est hors ligne. Ensuite, vous pouvez modifier la stratégie de cache ou forcer l'application à utiliser les données mises en cache.

if (![[AFNetworkReachabilityManager sharedManager] isReachable]) { 
    [request setCachePolicy:NSURLRequestReturnCacheDataElseLoad]; 
} 

Jetez un oeil à ce tutoriel:http://www.hpique.com/2014/03/how-to-cache-server-responses-in-ios-apps/