获取ios设备的型号(2种方法)

方法一:

#import <sys/utsname.h>

  struct utsname systemInfo;    

    uname(&systemInfo);

    NSString*platform = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding];

方法二:

#include <sys/sysctl.h>

  

+ (NSString *)getDeviceModel {

    size_t size;

    sysctlbyname("hw.machine", NULL, &size, NULL, 0);

    char answer[size];

    sysctlbyname("hw.machine", answer, &size, NULL, 0);

    NSString *platform = @(answer);

    return platform;

}

以上两种方法获取的都是iPhone1,1类型的设备型号,都需要进行转化如下:

+ (NSString*)iphoneType

{

    

    //需要导入头文件:#import <sys/utsname.h>

    

    struct utsname systemInfo;

    

    uname(&systemInfo);

    

    NSString*platform = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding];

    

    if([platform isEqualToString:@"iPhone1,1"])  return@"iPhone 2G";

    

    if([platform isEqualToString:@"iPhone1,2"])  return@"iPhone 3G";

    

    if([platform isEqualToString:@"iPhone2,1"])  return@"iPhone 3GS";

    

    if([platform isEqualToString:@"iPhone3,1"])  return@"iPhone 4";

    

    if([platform isEqualToString:@"iPhone3,2"])  return@"iPhone 4";

    

    if([platform isEqualToString:@"iPhone3,3"])  return@"iPhone 4";

    

    if([platform isEqualToString:@"iPhone4,1"])  return@"iPhone 4S";

    

    if([platform isEqualToString:@"iPhone5,1"])  return@"iPhone 5";

    

    if([platform isEqualToString:@"iPhone5,2"])  return@"iPhone 5";

    

    if([platform isEqualToString:@"iPhone5,3"])  return@"iPhone 5c";

    

    if([platform isEqualToString:@"iPhone5,4"])  return@"iPhone 5c";

    

    if([platform isEqualToString:@"iPhone6,1"])  return@"iPhone 5s";

    if([platform isEqualToString:@"iPhone6,2"])  return@"iPhone 5s";

    if([platform isEqualToString:@"iPhone7,1"])  return@"iPhone 6 Plus";

    if([platform isEqualToString:@"iPhone7,2"])  return@"iPhone 6";    

    if([platform isEqualToString:@"iPhone8,1"])  return@"iPhone 6s";

    if([platform isEqualToString:@"iPhone8,2"])  return@"iPhone 6s Plus";

    if([platform isEqualToString:@"iPhone8,4"])  return@"iPhone SE";

    if([platform isEqualToString:@"iPhone9,1"])  return@"iPhone 7";

    if([platform isEqualToString:@"iPhone9,2"])  return@"iPhone 7 Plus";

    if([platform isEqualToString:@"iPhone10,1"]) return@"iPhone 8";

    if([platform isEqualToString:@"iPhone10,4"]) return@"iPhone 8";

    if([platform isEqualToString:@"iPhone10,2"]) return@"iPhone 8 Plus";

    if([platform isEqualToString:@"iPhone10,5"]) return@"iPhone 8 Plus";

    if([platform isEqualToString:@"iPhone10,3"]) return@"iPhone X";

    if([platform isEqualToString:@"iPhone10,6"]) return@"iPhone X";

    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:@"iPod5,1"])  return@"iPod Touch 5G";

    if([platform isEqualToString:@"iPad1,1"])  return@"iPad 1G";

    if([platform isEqualToString:@"iPad2,1"])  return@"iPad 2";

    if([platform isEqualToString:@"iPad2,2"])  return@"iPad 2";

    if([platform isEqualToString:@"iPad2,3"])  return@"iPad 2";    

    if([platform isEqualToString:@"iPad2,4"])  return@"iPad 2";

    if([platform isEqualToString:@"iPad2,5"])  return@"iPad Mini 1G";

    if([platform isEqualToString:@"iPad2,6"])  return@"iPad Mini 1G";

    if([platform isEqualToString:@"iPad2,7"])  return@"iPad Mini 1G";

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

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

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

    if([platform isEqualToString:@"iPad3,4"])  return@"iPad 4";    

    if([platform isEqualToString:@"iPad3,5"])  return@"iPad 4";

    if([platform isEqualToString:@"iPad3,6"])  return@"iPad 4";

    if([platform isEqualToString:@"iPad4,1"])  return@"iPad Air";    

    if([platform isEqualToString:@"iPad4,2"])  return@"iPad Air";

    if([platform isEqualToString:@"iPad4,3"])  return@"iPad Air";    

    if([platform isEqualToString:@"iPad4,4"])  return@"iPad Mini 2G";

    if([platform isEqualToString:@"iPad4,5"])  return@"iPad Mini 2G";

    if([platform isEqualToString:@"iPad4,6"])  return@"iPad Mini 2G";

    if([platform isEqualToString:@"iPad4,7"])  return@"iPad Mini 3";

    if([platform isEqualToString:@"iPad4,8"])  return@"iPad Mini 3";

    if([platform isEqualToString:@"iPad4,9"])  return@"iPad Mini 3";

    if([platform isEqualToString:@"iPad5,1"])  return@"iPad Mini 4";

    if([platform isEqualToString:@"iPad5,2"])  return@"iPad Mini 4"; 

    if([platform isEqualToString:@"iPad5,3"])  return@"iPad Air 2";

    if([platform isEqualToString:@"iPad5,4"])  return@"iPad Air 2";   

    if([platform isEqualToString:@"iPad6,3"])  return@"iPad Pro 9.7";

    if([platform isEqualToString:@"iPad6,4"])  return@"iPad Pro 9.7";

    if([platform isEqualToString:@"iPad6,7"])  return@"iPad Pro 12.9";

    if([platform isEqualToString:@"iPad6,8"])  return@"iPad Pro 12.9";

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

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

    return platform;

}

猜你喜欢

转载自blog.csdn.net/denggun12345/article/details/81742218