IOS硬件版本获取

#include <sys/types.h>

#include <sys/sysctl.h>


- (NSString *)platform { size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0); NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding]; free(machine); return platform; } - (NSString *)platformString { NSString *platform = [self platform]; if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone1G GSM"; if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone3G GSM"; if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone3GS GSM"; if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone4 GSM"; if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone4 CDMA"; if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone4S"; if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone5"; if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([platform isEqualToString:@"iPad1,1"]) return @"iPad1 WiFi"; if ([platform isEqualToString:@"iPad2,1"]) return @"iPad2 WiFi"; if ([platform isEqualToString:@"iPad2,2"]) return @"iPad2 GSM"; if ([platform isEqualToString:@"iPad2,3"]) return @"iPad2 CDMAV"; if ([platform isEqualToString:@"iPad2,4"]) return @"iPad2 CDMAS";

 if ([platform isEqualToString:@"iPad2,5"])   return@"iPad mini WiFi";
    if ([platform isEqualToString:@"iPad3,1"])   return @"iPad3 WiFi";

    if ([platform isEqualToString:@"iPad3,2"])   return @"iPad3 GSM";

    if ([platform isEqualToString:@"iPad3,3"])   return @"iPad3 CDMA";

    
    if ([platform isEqualToString:@"i386"] || [platform isEqualToString:@"x86_64"])   return @"iPhone Simulator";
    
    return platform;
    
}

  先贴出代码,第一个方法获取了硬件版本,第二个方法根据返回的硬件版本转为我们可以识别的格式,如iPhone5

posted @ 2012-11-10 16:48  fengnianji  阅读(1012)  评论(0编辑  收藏  举报