次のコードを使用して、起動ディスクの使用可能なディスク領域を取得しています。
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 以降では、間違ったサイズが表示されます。しばらくして、10.5の場合、使用可能な正しいサイズを取得するには、 ( 1024*1024*1024 ) で割る必要があることがわかりました。10.6 以降では、( 1000*1000*1000 )で割って正しいサイズを取得する必要があります (これは、[ハードディスク] を右クリックして [情報を取得] を実行すると Finder に表示されます)。さて、1024 ではなく 1000 で割ることは、KB から MB などに変換する正しい方法ではないと思います。では、なぜ Mac 10.6 以降でこのようになるのでしょうか?
使用可能な起動ディスク領域を小数点以下 2 桁まで正確に取得できる他の関数はありますか?