iOS 手机存储空间计算

本来很简单的一个东西,但是百度出来,各种答案,调研了爱奇艺,腾讯课堂,慕课网,网易云课堂App,发现同一部手机,居然计算出来的存储空间也是各不相同,相比较腾讯课堂,慕课网,网易云课堂App这三个误差较小.

未标题-1.png

直接上代码(总结别人方法)

- (float)getFreeDiskspace{
    float totalSpace;
    float totalFreeSpace=0.f;
    NSError *error = nil;
    NSArray *paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
    NSDictionary *dictionary = [[NSFileManager defaultManager] attributesOfFileSystemForPath:[paths lastObject] error: &error];
    if (dictionary) {
        NSNumber *fileSystemSizeInBytes = [dictionary objectForKey: NSFileSystemSize];
        NSNumber *freeFileSystemSizeInBytes = [dictionary objectForKey:NSFileSystemFreeSize];
        totalSpace = [fileSystemSizeInBytes floatValue];
        totalFreeSpace = [freeFileSystemSizeInBytes floatValue];
    }
    return totalFreeSpace;
}

-(float)getTotalDiskSpaceInBytes {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    struct statfs tStats;
    statfs([[paths lastObject] cString], &tStats);
    float totalSpace = (float)(tStats.f_blocks * tStats.f_bsize);
    return totalSpace;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,482评论 25 708
  • 一. 背景 在线教育自提出以来就一直受到广泛关注,近年来更是迅猛发展,作为一个新生市场,未来的发展空间巨大。在线教...
    Tengdaa阅读 32,170评论 4 43
  • 今天,是距离感觉的第252天,我喜欢你的第33天。补课月,快结束的时候,8月27,喜欢上你。 或许你会以为我轻浮,...
    66b9d2ea9da4阅读 223评论 0 1
  • 梦乡 午夜 静谧清幽 她却久久不能入睡 正甜蜜地回忆几个小时前 ...
    子良_b739阅读 313评论 0 0
  • 9月4日晚上,跟小伙伴们唱歌。小A买了酒,于是,有了一次醉酒的体验。 刚半杯下肚,就已经开始头晕晕的,脸部泛红。又...
    小考拉俱乐部阅读 333评论 13 3