puedo como apple app actualizar iphone filesystems

iphone - como - itunes



¿<Application_Home>/Library/Caches estará claro en la actualización de la aplicación? (5)

¡Tu decides! Cita de la documentation de Apple:

Utilice este directorio para escribir cualquier archivo de soporte específico de la aplicación que desee conservar entre los lanzamientos de la aplicación o durante las actualizaciones de la aplicación. Su aplicación es generalmente responsable de agregar y eliminar estos archivos. También debería poder volver a crear estos archivos según sea necesario, ya que iTunes los elimina durante una restauración completa del dispositivo. En iOS 2.2 y versiones posteriores, iTunes no realiza una copia de seguridad de los contenidos de este directorio.

En la aplicación de mi iPhone, guardo en caché los datos sin procesar de algunos archivos comprimidos para ahorrar tiempo de carga. Pero esos archivos pueden cambiar en una actualización.

¿Se borrará iOS / Library / Caches para mí cuando se actualice la aplicación o necesito borrarla yo mismo?


El directorio de cachés se purgará si iOS se está quedando sin espacio. Si el usuario elige "actualizar todo" de las opciones de la tienda de aplicaciones, es probable que se quede sin espacio.

Solo debe almacenar los archivos en el directorio de cachés si la aplicación los puede recrear. Por lo que entiendo, el reproductor multimedia en iOS7 solo reproducirá los videos almacenados en el directorio de cachés, y así es como los borro manualmente (por si acaso):

-(void)deleteAllVideos { NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]; NSFileManager* fileManager = [NSFileManager defaultManager]; NSArray *directoryContent = [fileManager contentsOfDirectoryAtPath:cachePath error:NULL]; NSError* error; NSString* fullFilePath = nil; for(NSString* fileName in directoryContent) { if([fileName hasSuffix:@".mp4"]) { fullFilePath = [cachePath stringByAppendingPathComponent:fileName]; [fileManager removeItemAtPath:fullFilePath error:&error]; if(error) { DLog(@"Error: %@",error); } } } }


El punto central de / Caches es que el sistema puede borrar los datos almacenados allí en cualquier momento, si es necesario. No debe preocuparse por borrar ese directorio.


Para estar seguro, debe borrarlo usted mismo. Parece que no hay ninguna documentación que indique que se borrará para usted, por lo que incluso si lo hace ahora, no puede contar con que continúe haciéndolo.


Corto:

Will iOS clear /Library/Caches for me when the app is updated No

¿Es posible que iOS borre todo o partes de Application_Home/Library/Caches durante una actualización?

or I need to clear it myself? Debe asegurarse de que se borra lo que desea borrar.

Esté preparado para ambas situaciones.

¿Cómo sabes si tu aplicación se actualizó? Ver prueba de actualización de la aplicación iOS

Largo:

Archivos guardados durante las actualizaciones de la aplicación Cuando un usuario descarga una actualización de la aplicación, iTunes instala la actualización en un nuevo directorio de la aplicación. Luego, 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. Se garantiza que los archivos en los siguientes directorios se conservarán durante el proceso de actualización:

  • Application_Home / Documentos
  • Aplicación_home / biblioteca

Si bien los archivos en otros directorios de usuarios también pueden moverse, no debe confiar en que estén presentes después de una actualización.

De la documentación de Apple: el entorno de tiempo de ejecución de la aplicación - Copia de seguridad y restauración

Application_Home / Library / Caches Use este directorio para escribir cualquier archivo de soporte específico de la aplicación que desee conservar entre los lanzamientos de la aplicación o durante las actualizaciones de la aplicación. Su aplicación es generalmente responsable de agregar y eliminar estos archivos. También debería poder volver a crear estos archivos según sea necesario, ya que iTunes los elimina durante una restauración completa del dispositivo. En iOS 2.2 y versiones posteriores, iTunes no realiza una copia de seguridad de los contenidos de este directorio.

De la documentación de Apple: el entorno de tiempo de ejecución de la aplicación: el sistema de archivos (daveoncode)

Aquí hay un ejemplo de cuándo borra la memoria caché durante una "actualización": Instala la aplicación X V1.0. Almuerza una vez y empieza a hacer otra cosa. iOS funciona mal y necesita ser restaurado. Desarrollador lanzamientos V1.1. Actualizas la aplicación en iTunes en tu Mac. Usted restaura su dispositivo a través de iTunes. iTunes instala V1.1. El usuario almuerza su aplicación. Su aplicación no recibe notificación de que sucedió nada de eso, pero todos los archivos en Application_Home/Library/Cache se han ido ( iTunes removes them during a full restoration of the device ).

Información realmente importante allí: It should also be able to re-create these files as needed . Como Kendall también señaló que es un caché, por lo que el sistema operativo podría eliminar los archivos en cualquier momento. Por lo tanto, cada vez que cargue un archivo desde Application_Home/Library/Caches , debe tener en cuenta el caso de que el archivo ya no esté allí (Kendall lo mencionó).

NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0]; if(![fileManager fileExistsAtPath:[cachePath stringByAppendingPathComponent:@"myfile.zip"]]) { //create it, copy it from app bundle, download it etc. } //start using it