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);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,249评论 25 709
  • 我是一名在乡镇卫生院工作多年的精神科医生,基层条件的艰苦让人难以想象,回首走过的几十年风雨沧桑,感慨万千……...
    衣袂飘然阅读 2,682评论 2 5
  • 在多线程的使用中,我们可以使用互斥锁来使多个线程保持同步。互斥锁的使用过程中,主要有pthread_mutex_i...
    biggerworld阅读 9,226评论 0 3
  • 如同获救之舌 在每个混沌的清晨吻醒我 绵长深刻 像被雨细细的滋润 我的干涸 我的空虚的灵魂 没这滋润 将会被风携起...
    InvaderNN阅读 1,648评论 1 3
  • 朋友中 我是最潦倒的 可当问起他们的爱好、梦想 却个个摇头摆脑 他们早已被生活磨平了棱角 每当这时 我都会想:其实...
    呆丫阅读 1,693评论 0 0

友情链接更多精彩内容