我正在创建一个应用程序,它需要检测运行它的设备的品牌和型号(包括硬盘大小)。我发现了很多关于如何识别不同iPhone型号的帖子,但找不到任何有关检测高清尺寸的参考。
这甚至可能吗?
提前致谢, 奥利
答案 0 :(得分:2)
我认为默认的POSIX东西应该可以在iOS上使用。
您可能需要查看statvfs
(标准C库的一部分)并使用它来读取可用磁盘空间量。它不是Cocoa API的一部分,但这是有道理的。
文档应该在您的计算机上。在终端中:man statvfs
。
希望有所帮助。应该是一个5线程,以获得您需要的信息。 :)
答案 1 :(得分:1)
经过多一点挖掘后,我采用了以下方法,因为它似乎是最直接的,似乎工作正常。
感谢BastiBense提供的解决方案,我将在未来进一步研究POSIX。
NSDictionary *fsAttr = [[NSFileManager defaultManager] attributesOfFileSystemForPath:NSHomeDirectory() error:nil];
float diskSize = [[fsAttr objectForKey:NSFileSystemSize] doubleValue] / 1000000000;
NSLog(@"Disk Size: %0.0f",diskSize);
答案 2 :(得分:1)
POSIX版本(黑客攻击):
#include <sys/statvfs.h>
double get_disk_capacity ( char * path)
{
struct statvfs sfs;
unsigned long long result = 0;
double disk_capacity = 0;
if ( statvfs ( path, &sfs) != -1 )
{
result = (unsigned long long)sfs.f_frsize * sfs.f_blocks;
if (result > 0)
{
disk_capacity = (double)result/(1024*1024);
}
}
return disk_capacity;
}
// Sum the size of the two logical partitions (root + user space)
double total_capacity = get_disk_capacity("/") + get_disk_capacity("/private/var");
printf( "%.2f MB", total_capacity);