美文网首页
iOS开发之获取iPhone类型(iPhone7/7Plus)

iOS开发之获取iPhone类型(iPhone7/7Plus)

作者: 朱晓晓的技术博客 | 来源:发表于2017-06-12 14:24 被阅读55次
    #include <sys/types.h>
    #include <sys/sysctl.h>
    
    
    //获得设备型号
    + (NSString *)getCurrentDeviceModel
    {
        int mib[2];
        size_t len;
        char *machine;
    
        mib[0] = CTL_HW;
        mib[1] = HW_MACHINE;
        sysctl(mib, 2, NULL, &len, NULL, 0);
        machine = malloc(len);
        sysctl(mib, 2, machine, &len, NULL, 0);
    
        NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding];
        free(machine);
        // iPhone
        if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone2G";
        if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone3G";
        if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone3GS";
        if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone4";
        if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone4";
        if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone4";
        if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone4S";
        if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone5";
        if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone5";
        if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone5c";
        if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone5c";
        if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone5s";
        if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone5s";
        if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone6";
        if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone6Plus";
        if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone6s";
        if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone6sPlus";
        if ([platform isEqualToString:@"iPhone8,3"]) return @"iPhoneSE";
        if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhoneSE";
        if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone7";
        if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone7Plus";
    
        //iPod Touch
        if ([platform isEqualToString:@"iPod1,1"])   return @"iPodTouch";
        if ([platform isEqualToString:@"iPod2,1"])   return @"iPodTouch2G";
        if ([platform isEqualToString:@"iPod3,1"])   return @"iPodTouch3G";
        if ([platform isEqualToString:@"iPod4,1"])   return @"iPodTouch4G";
        if ([platform isEqualToString:@"iPod5,1"])   return @"iPodTouch5G";
        if ([platform isEqualToString:@"iPod7,1"])   return @"iPodTouch6G";
    
        //iPad
        if ([platform isEqualToString:@"iPad1,1"])   return @"iPad";
        if ([platform isEqualToString:@"iPad2,1"])   return @"iPad2";
        if ([platform isEqualToString:@"iPad2,2"])   return @"iPad2";
        if ([platform isEqualToString:@"iPad2,3"])   return @"iPad2";
        if ([platform isEqualToString:@"iPad2,4"])   return @"iPad2";
        if ([platform isEqualToString:@"iPad3,1"])   return @"iPad3";
        if ([platform isEqualToString:@"iPad3,2"])   return @"iPad3";
        if ([platform isEqualToString:@"iPad3,3"])   return @"iPad3";
        if ([platform isEqualToString:@"iPad3,4"])   return @"iPad4";
        if ([platform isEqualToString:@"iPad3,5"])   return @"iPad4";
        if ([platform isEqualToString:@"iPad3,6"])   return @"iPad4";
    
        //iPad Air
        if ([platform isEqualToString:@"iPad4,1"])   return @"iPadAir";
        if ([platform isEqualToString:@"iPad4,2"])   return @"iPadAir";
        if ([platform isEqualToString:@"iPad4,3"])   return @"iPadAir";
        if ([platform isEqualToString:@"iPad5,3"])   return @"iPadAir2";
        if ([platform isEqualToString:@"iPad5,4"])   return @"iPadAir2";
    
        //iPad mini
        if ([platform isEqualToString:@"iPad2,5"])   return @"iPadmini1G";
        if ([platform isEqualToString:@"iPad2,6"])   return @"iPadmini1G";
        if ([platform isEqualToString:@"iPad2,7"])   return @"iPadmini1G";
        if ([platform isEqualToString:@"iPad4,4"])   return @"iPadmini2";
        if ([platform isEqualToString:@"iPad4,5"])   return @"iPadmini2";
        if ([platform isEqualToString:@"iPad4,6"])   return @"iPadmini2";
        if ([platform isEqualToString:@"iPad4,7"])   return @"iPadmini3";
        if ([platform isEqualToString:@"iPad4,8"])   return @"iPadmini3";
        if ([platform isEqualToString:@"iPad4,9"])   return @"iPadmini3";
        if ([platform isEqualToString:@"iPad5,1"])   return @"iPadmini4";
        if ([platform isEqualToString:@"iPad5,2"])   return @"iPadmini4";
    
        if ([platform isEqualToString:@"i386"])      return @"iPhoneSimulator";
        if ([platform isEqualToString:@"x86_64"])    return @"iPhoneSimulator";
        return platform;
    }
    

    相关文章

      网友评论

          本文标题:iOS开发之获取iPhone类型(iPhone7/7Plus)

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