通过代码在iPhone上存储空间/高清空间

时间:2010-08-05 05:27:18

标签: iphone memory storage hard-drive

如何获得iPhone上剩余的存储空间?我需要能够获得appbox pro可以获得的信息,即。使用的空间,可用空间,空间总数,全部以GB为单位。

如何在不使用私有API的情况下在应用内访问它?感谢

1 个答案:

答案 0 :(得分:1)

http://kdbdallas.com/2008/12/27/maciphone-show-availble-useable-diskspace/查看zip文件(不是来源) - 我在我的项目中使用它并且它有效。

我做了一些更改(我需要字节)但是你有以下所有单位的代码:

-(int) bytesAvailable {
    float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
    int bytes = availableDisk;
    return (int)bytes;
}

-(int) kilosAvailable {
    float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
    int kilos = availableDisk/1024;
    return (int)kilos;
}

-(int) megasAvailable {
    float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
    int megas = availableDisk/1024/1024;
    return (int)megas;
}

-(int) gigasAvailable {
    float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
    int gigas = availableDisk/1024/1024/1024;
    return (int)gigas;
}

要使用它,您只需致电:

FSStats *stats = [[FSStats alloc] initWithFilePath:@"/"];
int freeSpace = [stats bytesAvailable];

要获得总大小,只需使用“f_bsize”:

float availableDisk = (float)(tStats.f_bavail * tStats.f_bsize);
float totalSize = (float)(tStats.f_bsize * tStats.f_bsize);
NSLog(@"Total size: %.2f | Free: %.2f", totalSize, availableDisk);

归功于达拉斯布朗http://kdbdallas.com/