美文网首页
设备型号获取(苹果内部编号)

设备型号获取(苹果内部编号)

作者: CAICAI0 | 来源:发表于2018-04-17 15:14 被阅读63次

    最近修改一个分享的UI界面的开源项目,需要适配iPHoneX.
    经常会出现判断是否是iPhoneX。

    - (NSString *)modelIdentifier{
        //    需要导入头文件:#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,2"]) return @"iPhone 8 Plus";
        if ([platform isEqualToString:@"iPhone10,3"]) return @"iPhone X";
        if ([platform isEqualToString:@"iPhone10,4"]) return @"iPhone 8";
        if ([platform isEqualToString:@"iPhone10,5"]) return @"iPhone 8 Plus";
        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:@"i386"])      return @"iPhone Simulator";
        if ([platform isEqualToString:@"x86_64"])    return @"iPhone Simulator";
        return platform;
    }
    
      bool isiPhoneX(){
        struct utsname systemInfo;
        uname(&systemInfo);
        return strcmp(systemInfo.machine, "iPhone10,3")||strcmp(systemInfo.machine, "iPhone10,6");
    }
    

    最后一个C函数判断iphoneX

    相关文章

      网友评论

          本文标题:设备型号获取(苹果内部编号)

          本文链接:https://www.haomeiwen.com/subject/toaukftx.html