Cómo saber si una image aún se almacena en caching en el Watch

En WatchKit, Apple nos ofrece alnetworkingedor de 20 MB de espacio para almacenar imágenes en caching.

Este caching es persistente en todos los lanzamientos y las imágenes se desalojan cuando se agota el espacio.

El problema es: ¿cómo se puede saber si la image todavía está en el caching o no?

Considere este escenario: Usted almacena en caching una image en el reloj con una tecla para mostrar en el futuro. Cuando llegue el momento de mostrar la image, ¿cómo sabes que todavía está almacenada en caching?

Si no hay forma de saberlo, entonces debes volver a cachearlo. Esto derrotaría completamente el propósito del caching si tiene que enviarlo al dispositivo cada vez que lo muestre.

Editar : la API se actualizó para corregir esto en iOS 8.2 beta 2. Consulte la respuesta de Dave para más detalles.

Edit2 : Esto se solucionó por completo en iOS 8.2 beta 3. Vea la respuesta de John para más detalles.

Además de la respuesta de Dave, vale la pena señalar que también hay una propiedad en WKInterfaceDevice , cachedImages , que devuelve un NSDictionary de todas las imágenes almacenadas en caching en el dispositivo actual para la aplicación en ejecución.

De la reference de la class WKInterfaceDevice :

Cada input en el dictionary es un NSString que contiene el nombre asociado a una image. El valor de cada input es un object NSNumber que contiene el tamaño de la image, en bytes. Cuando necesite eliminar imágenes en el caching, use esta información para ayudar a elegir qué imágenes desea eliminar.

Esta funcionalidad se puede lograr con iOS 8.2 Beta 2. En B2, el -addCachedImage:named: methods ahora devuelve un BOOL . Devolverá YES si la image se agregó al caching y NO si no (porque se ha alcanzado el límite de tamaño).

El caching tampoco será purgado por el SO; -remove... usted purgarlo usted mismo, utilizando el método apropiado -remove...

Por lo tanto, si su extensión mantiene una list de todas las imágenes que ha enviado al reloj, definitivamente puede saber qué imágenes hay en el caching.