UIWebView ignorando el caching de disco?

En mi aplicación híbrida main.css?{timestamp-file-was-modified} recurso web, por ejemplo, main.css?{timestamp-file-was-modified} y les doy un encabezado de caching de máximo de un año para que los clientes lo conserven más o less para siempre.

Lo que parece ocurrir en mi aplicación iOS es, sin embargo, que UIWebView honra el encabezado de caching durante la vida útil de la aplicación, es decir, cuando carga una página nueva que también incluye main.css?{same-timestamp} ni siquiera intentará revalidate ya que sabe que tiene el file correcto en el caching. PERO , tras un nuevo lanzamiento de la aplicación (después de ser asesinado o el dispositivo apagado), el UIWebView todos los resources de nuevo, ignorando el caching. Lo he ejecutado a través de Charles Proxy para verificar que este es el caso.

Miré dentro de SQlite cache.db y veo que main.css?{same-timestamp} está ahí, pero el UIWebView no lo cargará del caching, haciendo que la carga de la página inicial sea significativamente más lenta de lo que podría ser.

Lo he probado en un iPhone con iOS 8.4 y un iPad con iOS 8.2. El mismo resultado.

¿Algunas ideas?

Si realmente desea controlar el caching, puede registrar su subclass personalizada NSURLProtocol en delegado y luego usar - (void)startLoading puede cargar cualquier cosa desde el almacenamiento local.