注:需要导入头文件:
#import "sys/sysctl.h"
否则会有警告
demo: http://download.csdn.net/detail/take8619702/4816097
-------------------------------------------------------------------------------------------------------------------------------
- (NSString*) doDevicePlatform
{
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];
free(machine);
if ([platform isEqualToString:@"iPhone1,1"]) {
platform = @"iPhone";
} else if ([platform isEqualToString:@"iPhone1,2"]) {
platform = @"iPhone 3G";
} else if ([platform isEqualToString:@"iPhone2,1"]) {
platform = @"iPhone 3GS";
} else if ([platform isEqualToString:@"iPhone3,1"]) {
platform = @"iPhone 4";
} else if ([platform isEqualToString:@"iPhone4,1"]) {
platform = @"iPhone 4S";
} else if ([platform isEqualToString:@"iPhone5,1"]) {
platform = @"iPhone 5";
} else if ([platform isEqualToString:@"iPod4,1"]) {
platform = @"iPod touch 4";
} else if ([platform isEqualToString:@"iPad3,2"]) {
platform = @"iPad 3 3G";
} else if ([platform isEqualToString:@"iPad3,1"]) {
platform = @"iPad 3 WiFi";
} else if ([platform isEqualToString:@"iPad2,2"]) {
platform = @"iPad 2 3G";
} else if ([platform isEqualToString:@"iPad2,1"]) {
platform = @"iPad 2 WiFi";
}
return platform;
}
还有不完善的地方,如:iPod touch 只在4代
learn:http://blog.sina.com.cn/s/blog_445460d70100z0ro.html