目前我正在使用NSfileManager来检测磁盘空间。以下是为我完成工作的代码片段:
-(unsigned)getFreediskspacePrivate {NSDictionary *atDict = [[NSfileManager defaultManager] attributesOffileSystemForPath:@"/" error:NulL];unsigned freeSpace = [[atDict objectForKey:NSfileSystemFreeSize] unsignedIntValue];NSLog(@"%s - Free diskspace: %u bytes - %u MiB",__PRETTY_FUNCTION__,freeSpace,(freeSpace/1024)/1024);return freeSpace;}
我是否正确的上面的代码段?或有什么更好的方法来知道总可用/可用磁盘空间。
我必须检测总的可用磁盘空间,因为我们必须阻止我们的应用程序在低磁盘空间情况下执行同步。
原始答案:
我发现以下解决方案为我工作:
-(uint64_t)getFreediskspace { uint64_t totalSpace = 0; uint64_t totalFreeSpace = 0; 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 unsignedLongLongValue]; totalFreeSpace = [freefileSystemSizeInBytes unsignedLongLongValue]; NSLog(@"Memory Capacity of %llu MiB with %llu MiB Free memory available.",((totalSpace/1024ll)/1024ll),((totalFreeSpace/1024ll)/1024ll)); } else { NSLog(@"Error Obtaining System Memory Info: Domain = %@,Code = %ld",[error domain],(long)[error code]); } return totalFreeSpace;}
它返回我完全的大小,当显示器,当设备连接到机器的大小。
总结以上是内存溢出为你收集整理的如何检测iPhone/iPad设备上的可用/可用磁盘空间总量?全部内容,希望文章能够帮你解决如何检测iPhone/iPad设备上的可用/可用磁盘空间总量?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)