iOS:获取当前设备型号等信息

2017-11-02  本文已影响45人  wooke

1、获取设备型号(2017.11.02)

#include <sys/types.h> 
#include <sys/sysctl.h>
//获得设备型号 
+ (NSString *)getCurrentDeviceModel 
{ 
    int mib[2]; 
    size_t len; 
    charchar *machine; 
    mib[0] = CTL_HW; 
    mib[1] = HW_MACHINE; 
    sysctl(mib, 2, NULL, &len, NULL, 0); 
    machine = malloc(len); 
    sysctl(mib, 2, machine, &len, NULL, 0); 
    NSString *deviceString = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding]; 
    free(machine); 

    // iPhone
    if ([deviceString isEqualToString:@"iPhone1,1"]) { return @"iPhone 1G";}
    if ([deviceString isEqualToString:@"iPhone1,2"]) { return @"iPhone 3G";}
    if ([deviceString isEqualToString:@"iPhone2,1"]) { return @"iPhone 3GS";}
    if ([deviceString isEqualToString:@"iPhone3,1"]) { return @"iPhone 4";}
    if ([deviceString isEqualToString:@"iPhone3,2"]) { return @"Verizon iPhone 4";}
    if ([deviceString isEqualToString:@"iPhone4,1"]) { return @"iPhone 4S";}
    if ([deviceString isEqualToString:@"iPhone5,1"]) { return @"iPhone 5";}
    if ([deviceString isEqualToString:@"iPhone5,2"]) { return @"iPhone 5";}
    if ([deviceString isEqualToString:@"iPhone5,3"]) { return @"iPhone 5C";}
    if ([deviceString isEqualToString:@"iPhone5,4"]) { return @"iPhone 5C";}
    if ([deviceString isEqualToString:@"iPhone6,1"]) { return @"iPhone 5S";}
    if ([deviceString isEqualToString:@"iPhone6,2"]) { return @"iPhone 5S";}
    if ([deviceString isEqualToString:@"iPhone7,1"]) { return @"iPhone 6 Plus";}
    if ([deviceString isEqualToString:@"iPhone7,2"]) { return @"iPhone 6";}
    if ([deviceString isEqualToString:@"iPhone8,1"]) { return @"iPhone 6s";}
    if ([deviceString isEqualToString:@"iPhone8,2"]) { return @"iPhone 6s Plus";}
    if ([deviceString isEqualToString:@"iPhone8,4"]) { return @"iPhone SE";}
    if ([deviceString isEqualToString:@"iPhone9,1"]) { return @"iPhone 7";}
    if ([deviceString isEqualToString:@"iPhone9,3"]) { return @"iPhone 7";}
    if ([deviceString isEqualToString:@"iPhone9,2"]) { return @"iPhone 7 Plus";}
    if ([deviceString isEqualToString:@"iPhone9,4"]) { return @"iPhone 7 Plus";}
    if ([deviceString isEqualToString:@"iPhone10,1"]) { return @"iPhone 8";}
    if ([deviceString isEqualToString:@"iPhone10,4"]) { return @"iPhone 8";}
    if ([deviceString isEqualToString:@"iPhone10,2"]) { return @"iPhone 8 Plus";}
    if ([deviceString isEqualToString:@"iPhone10,5"]) { return @"iPhone 8 Plus";}
    if ([deviceString isEqualToString:@"iPhone10,3"]) { return @"iPhone X";}
    if ([deviceString isEqualToString:@"iPhone10,6"]) { return @"iPhone X";}
    
    // iPod
    if ([deviceString isEqualToString:@"iPod1,1"])   { return @"iPod Touch";}
    if ([deviceString isEqualToString:@"iPod2,1"])   { return @"iPod Touch 2";}
    if ([deviceString isEqualToString:@"iPod3,1"])   { return @"iPod Touch 3";}
    if ([deviceString isEqualToString:@"iPod4,1"])   { return @"iPod Touch 4";}
    if ([deviceString isEqualToString:@"iPod5,1"])   { return @"iPod Touch 5";}
    if ([deviceString isEqualToString:@"iPod7,1"])   { return @"iPod Touch 6";}
    
    // iPad
    if ([deviceString isEqualToString:@"iPad1,1"])   { return @"iPad";}
    if ([deviceString isEqualToString:@"iPad2,1"])   { return @"iPad 2";}
    if ([deviceString isEqualToString:@"iPad2,2"])   { return @"iPad 2";}
    if ([deviceString isEqualToString:@"iPad2,3"])   { return @"iPad 2";}
    if ([deviceString isEqualToString:@"iPad2,4"])   { return @"iPad 2";}
    
    if ([deviceString isEqualToString:@"iPad3,1"])   { return @"iPad 3";}
    if ([deviceString isEqualToString:@"iPad3,2"])   { return @"iPad 3";}
    if ([deviceString isEqualToString:@"iPad3,3"])   { return @"iPad 3";}
    if ([deviceString isEqualToString:@"iPad3,4"])   { return @"iPad 4";}
    if ([deviceString isEqualToString:@"iPad3,5"])   { return @"iPad 4";}
    if ([deviceString isEqualToString:@"iPad3,6"])   { return @"iPad 4";}
    
    if ([deviceString isEqualToString:@"iPad4,1"])   { return @"iPad Air";}
    if ([deviceString isEqualToString:@"iPad4,2"])   { return @"iPad Air";}
    if ([deviceString isEqualToString:@"iPad4,3"])   { return @"iPad Air";}
    if ([deviceString isEqualToString:@"iPad5,3"])   { return @"iPad Air 2";}
    if ([deviceString isEqualToString:@"iPad5,4"])   { return @"iPad Air 2";}
    
    if ([deviceString isEqualToString:@"iPad6,7"])   { return @"iPad Pro (12.9-inch)";}
    if ([deviceString isEqualToString:@"iPad6,8"])   { return @"iPad Pro (12.9-inch)";}
    if ([deviceString isEqualToString:@"iPad6,3"])   { return @"iPad Pro (9.7-inch)";}
    if ([deviceString isEqualToString:@"iPad6,4"])   { return @"iPad Pro (9.7-inch)";}
    
    if ([deviceString isEqualToString:@"iPad6,11"])   { return @"iPad (5th generation)";}
    if ([deviceString isEqualToString:@"iPad6,12"])   { return @"iPad (5th generation)";}
    if ([deviceString isEqualToString:@"iPad7,1"])   { return @"iPad Pro (12.9-inch, 2nd generation)";}
    if ([deviceString isEqualToString:@"iPad7,2"])   { return @"iPad Pro (12.9-inch, 2nd generation)";}
    if ([deviceString isEqualToString:@"iPad7,3"])   { return @"iPad Pro (10.5-inch)";}
    if ([deviceString isEqualToString:@"iPad7,4"])   { return @"iPad Pro (10.5-inch)";}
    
    //iPad mini
    if ([deviceString isEqualToString:@"iPad2,5"])   { return @"iPad mini";}
    if ([deviceString isEqualToString:@"iPad2,6"])   { return @"iPad mini";}
    if ([deviceString isEqualToString:@"iPad2,7"])   { return @"iPad mini";}
    
    if ([deviceString isEqualToString:@"iPad4,4"])   { return @"iPad mini 2";}
    if ([deviceString isEqualToString:@"iPad4,5"])   { return @"iPad mini 2";}
    if ([deviceString isEqualToString:@"iPad4,6"])   { return @"iPad mini 2";}
    
    if ([deviceString isEqualToString:@"iPad4,7"])   { return @"iPad mini 3";}
    if ([deviceString isEqualToString:@"iPad4,8"])   { return @"iPad mini 3";}
    if ([deviceString isEqualToString:@"iPad4,9"])   { return @"iPad mini 3";}
    
    if ([deviceString isEqualToString:@"iPad5,1"])   { return @"iPad mini 4";}
    if ([deviceString isEqualToString:@"iPad5,2"])   { return @"iPad mini 4";}
    
    
    //模拟器
    if ([deviceString isEqualToString:@"i386"])      { return @"Simulator";}
    if ([deviceString isEqualToString:@"x86_64"])    { return @"Simulator";}
    
    return deviceString;
}

苹果用的硬件编码识别,具体可以参考:https://www.theiphonewiki.com/wiki/Models

2、获取设备的信息

上一篇下一篇

猜你喜欢

热点阅读