需要在头文件中引入
#include <sys/types.h>
#include <sys/sysctl.h>
size_t size;
int nR = sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = (char *)malloc(size);
nR = sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
NSLog(@"platform:%@",platform);
free(machine);
if ([platform isEqualToString:@"iPhone1,1"])
{
return @"iPhone";
}
if ([platform isEqualToString:@"iPhone1,2"])
{
return @"iPhone3G";
}
if ([platform isEqualToString:@"iPhone2,1"])
{
return @"iPhone3GS";
}
if ([platform isEqualToString:@"iPhone3,1"])
{
return @"iPhone4";
}
{
return @"iPhone";
}
if ([platform isEqualToString:@"iPhone1,2"])
{
return @"iPhone3G";
}
if ([platform isEqualToString:@"iPhone2,1"])
{
return @"iPhone3GS";
}
if ([platform isEqualToString:@"iPhone3,1"])
{
return @"iPhone4";
}
获取iOS设备型号
本文介绍了一种通过使用sysctlbyname函数来获取iOS设备硬件型号的方法,并提供了针对不同iPhone型号的具体判断逻辑。
1395

被折叠的 条评论
为什么被折叠?



