Estoy trabajando en una aplicación de mapeo iPhone/iPad basada MKMapView que se superpone mi propio mapa base esencial de proveer para algunas funciones limitadas, incluso cuando los usuarios están fuera de línea y no pueden llegar a un servidor de mapas baldosas de Google.¿Cómo puedo borrar el caché de mosaicos de mapas de MKMapView?
Esta funcionalidad funciona, pero estoy teniendo dificultades para probarla después de cada compilación nueva porque no puedo encontrar una forma de purgar/restablecer la caché de mosaico de mapas de iOS. La memoria caché de iOS incluso sobrevive a un ciclo de encendido y reinicio del dispositivo iOS. En cualquier lugar en el que haya ampliado las representaciones con las fichas en la memoria de la sesión de prueba anterior.
¿Hay alguna manera de forzar a iOS a vaciar su caché de mapa? En este momento, la única alternativa que puedo pensar es actualizar el sistema operativo cada vez que necesite hacer una prueba.
Gracias!
BTW: Esto es casi un duplicado de this question, pero en ese caso el problema no era probar con un caché vacío, sino liberar la memoria. La respuesta aceptada allí se centró en la cuestión de la RAM, no es el mismo problema que estoy teniendo aquí.
¿Sabía que el NSURLCache afecta al MKMapView? Por mis experimentos, parecía que el visor de mapas tenía su propio espacio de caché, pero podría estar equivocado. – radven
hi @radven! En realidad, era bastante escéptico sobre 'MKMapView' y' NSURLCache' al principio, pero luego intenté subclasificar 'NSURLCache' para rastrear todas las conexiones realizadas desde mi aplicación y vi que las llamadas de google' MKMapView' pasaban por el caché. Puedes ver cómo lo implementé en este hilo http://stackoverflow.com/questions/5381687/ios-track-url-connections/5928185#5928185 –
Estoy probando el método que detallaste en la otra pregunta y no teniendo mucha suerte Durante una panorámica y el zoom alrededor de un área del mapa que nunca había visto antes, solo recibí una llamada a la función cachedResponseForRequest: y se registró como "http://www.google.com/glm/mmap", Esperaba una llamada para cada azulejo de Google. ¿Estaba equivocado? – Craig