【发布时间】:2011-03-25 15:04:25
【问题描述】:
如何获取 iPhone 上剩余的存储空间量?我需要能够获取您可以通过 appbox pro 获得的信息,即。已用空间、可用空间、总空间,均以 GB 为单位。
如何在不使用私有 API 的情况下在应用内访问它?谢谢
【问题讨论】:
标签: iphone memory storage hard-drive
如何获取 iPhone 上剩余的存储空间量?我需要能够获取您可以通过 appbox pro 获得的信息,即。已用空间、可用空间、总空间,均以 GB 为单位。
如何在不使用私有 API 的情况下在应用内访问它?谢谢
【问题讨论】:
标签: iphone memory storage hard-drive
查看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/
【讨论】: