2010-08-05 63 views
1

如何獲得iPhone上剩餘的存儲空間量?我需要能夠通過appbox pro得到您可以獲得的信息,即。已用空間,可用空間,空間總量,全部用英制表示。通過代碼獲得iPhone上的存儲空間/ HD空間

如何在不使用私有API的情況下在應用內訪問它?謝謝

回答

1

檢查出zip文件(不是來源)在http://kdbdallas.com/2008/12/27/maciphone-show-availble-useable-diskspace/ - 我在我的項目中使用它,它的工作原理。

我做了一些改變(我需要個字節),但你有以下的所有單位代碼:

-(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/

+0

+1爲達拉斯布朗的裁判,但你改變了一個太多的東西;將應用程序的文檔目錄提供給FSStats,而不是@「/」。我從文檔目錄中獲得5.9GB(與iTunes報告相同),但從@「/」只有139MB。我猜想某種文件權限問題。 – 2013-01-07 04:30:43