1

如何获取 iPhone 上剩余的存储空间量?我需要能够获取您可以通过 appbox pro 获得的信息,即。已用空间、可用空间、总空间,均以 GB 为单位。

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

4

1 回答 1

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/

于 2012-04-30T09:52:15.873 回答