【问题标题】:How to check available space for an app in iOS? [duplicate]如何在 iOS 中检查应用程序的可用空间? [复制]
【发布时间】:2013-02-19 18:02:14
【问题描述】:

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

【问题讨论】:

  • 应用程序会消耗 iphone 内存,因此您在下载文件之前检查设备内存 :)
  • Google 是您的朋友。使用它。

标签: iphone ios objective-c ipad cocoa-touch


【解决方案1】:

您可以创建一个函数来执行此操作:

#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;  
}

【讨论】:

    【解决方案2】:

    使用这个:

     #include <sys/param.h>  
     #include <sys/mount.h>  
    
    +(float) diskSpaceAvailable {  
        NSArray* pathDocDir = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
        struct statfs tStats;  
        statfs([[pathDocDir lastObject] cString], &tStats);  
        float total_space = (float)(tStats.f_blocks * tStats.f_bsize);  
    
        return total_space;  
    }
    

    【讨论】:

      猜你喜欢
      • 2019-05-07
      • 1970-01-01
      • 1970-01-01
      • 2012-06-22
      • 1970-01-01
      • 2017-01-27
      • 1970-01-01
      • 2019-05-27
      • 2020-06-03
      相关资源
      最近更新 更多