This question already has answers here:
How to detect total available/free disk space on the iPhone/iPad device?

(18个回答)


7年前关闭。




在我的应用程序中,我想下载一个大数据文件(可能超过50MB),但是同时,如果用户在音乐和其他事情上占用了大量空间,那么代码将如何知道应用程序的内存限制(例如40 MB),并且该代码现在应限制下载。

最佳答案

您可以创建一个函数来这样做:

#include <sys/param.h>
#include <sys/mount.h>

+(float) diskSpaceLeft {
    NSArray* thePath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    struct statfs tStats;
    const char *path = [[NSFileManager defaultManager] fileSystemRepresentationWithPath:[thePath lastObject]];
    statfs(path, &tStats);
    float availableSpace = (float)(tStats.f_bavail * tStats.f_bsize);
    return availableSpace;
}

08-05 21:49