我正在使用以下代码来获取启动磁盘的可用磁盘空间。
NSFileManager *fm = [NSFileManager defaultManager];
double freeSpace = 0.0;
NSDictionary *attr = [[NSFileManager defaultManager] attributesOfFileSystemForPath:@"/" error:nil];
if (!error) {
freeSpace = [[attr objectForKey:NSFileSystemFreeSize] doubleValue];
}
//Convert from bytes to GB.
freeSpace = freeSpace/(1024*1024*1024);
但是对于MacOS 10.6 及更高版本,它给出的 size 错误。过了一会儿,我发现对于 10.5,我们需要将它除以 ( 1024*1024*1024 ) 以获得正确的可用大小。对于 10.6 及更高版本,我必须将其除以 ( 1000*1000*1000 ) 以获得正确的大小(当我们右键单击 HardDisk -> Get Info 时会显示在 Finder 中)。现在,我认为除以 1000 而不是 1024 是从 KB 转换为 MB 或其他什么的正确方法。那么为什么在 Mac 10.6 及更高版本中会这样呢?
是否有任何其他功能可以使可用的启动磁盘空间正确到小数点后 2 位?