2011-07-29 9 views
18

¿En qué circunstancias se eliminarán los archivos en el NSCachesDirectory de iOS? Obviamente, elimine y vuelva a instalar una aplicación. ¿Qué hay de la actualización de la aplicación? ¿Qué hay de las condiciones de espacio en disco bajo? ¿Algo más?¿Cuándo se eliminan los archivos de NSCachesDirectory?

+0

FYI: el error pensé que tenía era algo más, así que yo sepa la respuesta a la pregunta anterior es "fuera de la aplicación de borrar, no". – esilver

Respuesta

10

Nuestra experiencia es que esta carpeta se borra en las actualizaciones de la aplicación. Sería bueno saber cuándo exactamente esta carpeta es candidata para ser limpiada. Los documentos describen esta carpeta como

ubicación de los archivos de caché descartables (Library/Caches)

El NSDocumentDirectory no se borrará de las actualizaciones de aplicaciones, pero tenga cuidado al usar esta carpeta desde iOS 5 ahora utiliza esta carpeta para hacer copias de seguridad en iCloud y su aplicación probablemente será rechazada si usa este directorio para almacenar cualquier cosa que no sea el contenido generado por el usuario.

+12

Confirmando que las aplicaciones que usan NSDocumentDirectory para almacenar contenido que no haya sido generado por el usuario serán rechazadas. – Ciryon

+1

También puedo confirmar que Apple comprueba esto. Si necesita almacenar archivos en NSDocumentDirectory que puedan reconstruirse o descargarse, asegúrese de marcarlos para que se omitan durante la copia de seguridad. Apple permite esto. – respectTheCode

+0

@Ciryon ¿estaría bien almacenar imágenes en NSDocumentDirectory que el usuario está recogiendo en el rollo de la cámara? – Bazinga

9

TODO lo que está en la carpeta de la Biblioteca NO será eliminado por el iOS durante la actualización de la aplicación.

favor verifique siguiente documentación de Apple, que menciona:

Cuando un usuario descarga una actualización de la aplicación, la actualización de iTunes instala en un nuevo directorio de aplicación. A continuación, mueve los archivos de datos del usuario de la instalación anterior al nuevo directorio de la aplicación antes de eliminar la instalación anterior. Los archivos en los siguientes directorios se garantizar que se conserve durante el proceso de actualización:

Application_Home>/Documentos

Application_Home>/Library

Aunque los archivos en otros directorios de usuario también se pueden mover más, usted no debe confiar en que estén presentes después de una actualización.

Aquí está el enlace a esta documentación: http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/PerformanceTuning/PerformanceTuning.html#//apple_ref/doc/uid/TP40007072-CH8-SW10

Espero que esto ayude.

0

NSCachesDirectory se puede eliminar en casos de poca memoria

En iOS 5,0 y más tarde, el sistema puede borrar el directorio de cachés en raras ocasiones en que el sistema es muy poco espacio en disco. Esto ocurrirá cuando se está ejecutando una aplicación. Sin embargo, debe saber que la restauración de iTunes no es necesariamente la única condición bajo la cual se puede borrar el directorio Cachés .

more info

Si no desea que sus archivos para borrar lo que tiene que almacenarlos en el directorio de documentos, pero de esta manera:

uso del "no dé marcha atrás" atributo para especificando los archivos que deben permanecer en el dispositivo, incluso en situaciones de almacenamiento bajo. Utilice este atributo con datos que pueden recrearse pero que deben mantenerse incluso en situaciones de almacenamiento bajo para el correcto funcionamiento de su aplicación o porque los clientes esperan que esté disponible durante el uso sin conexión.Este atributo funciona en archivos marcados independientemente del directorio en el que se encuentren, incluido el directorio de Documentos. Estos archivos no se purgarán y no se incluirán en la copia de seguridad de iCloud o iTunes del usuario. Debido a que estos archivos usan espacio de almacenamiento en el dispositivo, su aplicación es responsable de monitorear y purgar estos archivos periódicamente.

more info

+0

¿Se puede eliminar NSCachesDirectory mientras se ejecuta la aplicación? Si bien la aplicación está en segundo plano? (Tengo una aplicación de audio en segundo plano, por lo que puede leer activamente desde Library/Caches mientras se ejecuta en segundo plano.) –

+0

No sé, solo dicen en casos de poca memoria, por lo que si está utilizando la aplicación y obtener una advertencia de memoria que podría eliminar cosas de las cachés. Tenga en cuenta que solo los eliminará en iOS 5.0.1 o superior. De todos modos, lo mejor es almacenar los archivos que no desea que se eliminen en NSDocumentsDirectory o NSApplicationSupportDirectory – jcesarmobile

+0

¿Memoria baja o poco espacio en disco? – Gomfucius

Cuestiones relacionadas