tengo tener sistema otros ocupa nada mucho mas lleno liberar espacio como borrar apartado almacenamiento iphone objective-c data-storage

tener - liberar espacio sistema iphone



Cómo obtener el tamaño de almacenamiento de aplicaciones mediante programación en iPhone (3)

A menos que el dispositivo tenga jailbreak, no podrá acceder a cada carpeta de la aplicación mediante programación.

Esto se debe a que cada aplicación iOS funciona en un entorno de espacio aislado, lo que significa que su aplicación SOLO puede acceder a los activos dentro de este directorio. Si el dispositivo tiene jailbreak, este requisito se elimina y se le otorga acceso completo al disco del dispositivo.

Quiero obtener los tamaños de almacenamiento de cada aplicación en iPhone a través del objetivo C.
Cualquier ayuda para conseguir así ...


Suponiendo que está desarrollando para un dispositivo con jailbreak (si no es así, es imposible acceder a las aplicaciones en el dispositivo), el SpringBoard debe tener métodos predefinidos para acceder a los metadatos de todas las aplicaciones instaladas. Si observa los encabezados de SBApplication.h, hay métodos para obtener los metadatos.


NSString *folderPath = "give application path here"

Ejemplo: NSString * folderPath = @ "/ private / var / mobile / Applications / 2B63FD7F-2082-415D-A00C-F07C4BE281AA / Example.app";

NSArray *filesArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:folderPath error:nil]; NSEnumerator *filesEnumerator = [filesArray objectEnumerator]; NSString *fileName; unsigned long long int fileSize = 0; while (fileName = [filesEnumerator nextObject]) { NSDictionary *fileDictionary = [[NSFileManager defaultManager] fileAttributesAtPath:[folderPath stringByAppendingPathComponent:fileName] traverseLink:YES]; NSLog(@" fileDictionary %@",fileDictionary); fileSize += [fileDictionary fileSize]; } NSLog(@" App Name and App size: %@ : %lld", folderPath,fileSize);

Si desea buscar el tamaño de todas las aplicaciones, tome la ruta de todas las aplicaciones en una matriz y escriba la instrucción de bucle para la ruta de la carpeta.

NSArray *applicationsPath="Here array contain all applications path" for (int i=0; i<applicationPath.count; i++) { NSString *folderPath = [applicationPath objectAtIndex:i] NSArray *filesArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:folderPath error:nil]; NSEnumerator *filesEnumerator = [filesArray objectEnumerator]; NSString *fileName; unsigned long long int fileSize = 0; while (fileName = [filesEnumerator nextObject]) { NSDictionary *fileDictionary = [[NSFileManager defaultManager] fileAttributesAtPath:[folderPath stringByAppendingPathComponent:fileName] traverseLink:YES]; NSLog(@" fileDictionary %@",fileDictionary); fileSize += [fileDictionary fileSize]; } NSLog(@" App Name and App size: %@ : %lld", folderPath,fileSize); }