该方法用于判断手机具体机型,如果做屏幕适配因为屏幕分辨率大部分一样,则不需要这么详细的判断,请参考:
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);
网友评论