iOS 手机具体机型判断

该方法用于判断手机具体机型,如果做屏幕适配因为屏幕分辨率大部分一样,则不需要这么详细的判断,请参考:
IOS 判断手机型号宏定义

首先导入头文件

#import "sys/utsname.h"
- (NSString*)deviceVersion
{
   
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString * deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    //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 @"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:@"iPhone9,1"])    return @"iPhone 7";
    if ([deviceString isEqualToString:@"iPhone9,2"])    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";
    
    return deviceString;
}

使用方法:

  NSString * phoneModel =  [self deviceVersion];
  NSLog(@"%@", phoneModel);

你可能感兴趣的:(iOS 手机具体机型判断)