UIWebView caching de páginas web para visualización sin connection

En primer lugar, estoy bastante seguro de haber verificado todas las respuestas aquí y nada hace lo que me gustaría hacer.

  1. En esta pregunta, para la respuesta se da ASIHTTPRequest que es un proyecto muerto. ( ¿Cómo descargo una página web completa (con imágenes) en el iPhone? )
  2. En esta pregunta, el usuario propuso RNCachingURLProtocol, que es realmente genial, pero tuve algunos problemas después de cerrar la aplicación por completo (cerrarla en la barra de tareas). Después de eso no obtuve css o imágenes, solo se cargó html. ( Cache una sola página web para usar cuando está fuera de línea en Xcode / UIWEBVIEW ).

Hay pocas respuestas más pero ninguna es buena. Debe haber una implementación simple para lo que estoy buscando.

Me gustaría: Cuando se abra la aplicación, cargará alguna página web. Quiero save esa página web por completo. Ahora el usuario puede abandonar o hacer lo que quiera (simplemente no desinstalar). Siempre y cuando exista una connection a Internet (verifico que se utilice la class de accesibilidad), la página web se carga normalmente y se está guardando. SI USUARIO abre la aplicación y NO hay connection a INTERNET, solo quiero mostrar el post de que "podría no estar actualizado bla bla boa" y mostrar la página web completa y guardada que se guardó la aplicación la última vez que tiene connection a internet.

¿Cuál sería la mejor manera (actualizada) de save una página web completa? Encontré algo sobre MKNetworkKit, pero no estoy seguro de cómo usar eso. Cualquier ayuda sería apreciada.

Parece que el almacenamiento en caching estándar no es lo suficientemente bueno porque no tiene control sobre lo que se almacenará en caching y durante cuánto time. La forma más fácil de resolver esto es creando su propio meganismo de caching anulando el NSURLCache. Puede encontrar algo de documentation sobre eso en http://nshipster.com/nsurlcache/ y una muestra en http://github.com/evermeer/EVURLCache. Esa muestra incluso le permite usar una memory caching previamente poblada que puede includese en su aplicación instalar.

NSString *stringurl=[NSString stringWithFormat:@"http://www.google.com"]; NSURL *url=[NSURL URLWithString:stringurl]; NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:15.0]; [uiwebview loadRequest:theRequest]; 

El sistema de carga de URL proporciona una memory caching compuesta en el disco y en memory de las respuestas a las requestes. Este caching permite que una aplicación networkinguzca su dependencia de una connection de networking y aumente su performance.