判断机型,支持最新设备(iPhone SE Gen2 和 iPad Pro 11 Gen2、iPad Pro 12.9 Gen4)

此更新已停止维护,现支持CocoaPods,专注于最新的iPhone SE第二代和iPad Pro 11英寸及12.9英寸的第二代和第四代设备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2020-7-10 更新
⚠️已停止维护

现已支持CocoaPods

只涉及最新的iPhone和iPad设备

Github

// 导入这个框架
#import <sys/utsname.h>

+ (NSString *)getDeviceName {
    
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    
#pragma mark iPhone
    
    if ([deviceModel isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";
    if ([deviceModel isEqualToString:@"iPhone1,2"] ||
        [deviceModel isEqualToString:@"iPhone1,2*"])   return @"iPhone 3G";
    if ([deviceModel isEqualToString:@"iPhone2,1"] ||
        [deviceModel isEqualToString:@"iPhone2,1*"])   return @"iPhone 3GS";
    if ([deviceModel isEqualToString:@"iPhone3,1"] ||
        [deviceModel isEqualToString:@"iPhone3,2"] ||
        [deviceModel isEqualToString:@"iPhone3,3"])    return @"iPhone 4";
    if ([deviceModel isEqualToString:@"iPhone4,1"] ||
        [deviceModel isEqualToString:@"iPhone4,1*"])   return @"iPhone 4S";
    if ([deviceModel isEqualToString:@"iPhone5,1"] ||
        [deviceModel isEqualToString:@"iPhone5,2"])    return @"iPhone 5";
    if ([deviceModel isEqualToString:@"iPhone5,3"] ||
        [deviceModel isEqualToString:@"iPhone5,4"])    return @"iPhone 5C";
    if ([deviceModel isEqualToString:@"iPhone6,1"] ||
        [deviceModel isEqualToString:@"iPhone6,2"])    return @"iPhone 5S";
    if ([deviceModel isEqualToString:@"iPhone7,2"])    return @"iPhone 6";
    if ([deviceModel isEqualToString:@"iPhone7,1"])    return @"iPhone 6 Plus";
    if ([deviceModel isEqualToString:@"iPhone8,1"])    return @"iPhone 6s";
    if ([deviceModel isEqualToString:@"iPhone8,2"])    return @"iPhone 6s Plus";
    if ([deviceModel isEqualToString:@"iPhone8,4"])    return @"iPhone SE";
    if ([deviceModel isEqualToString:@"iPhone9,1"] ||
        [deviceModel isEqualToString:@"iPhone9,3"])    return @"iPhone 7";
    if ([deviceModel isEqualToString:@"iPhone9,2"] ||
        [deviceModel isEqualToString:@"iPhone9,4"])    return @"iPhone 7 Plus";
    if ([deviceModel isEqualToString:@"iPhone10,1"] ||
        [deviceModel isEqualToString:@"iPhone10,4"])   return @"iPhone 8";
    if ([deviceModel isEqualToString:@"iPhone10,2"] ||
        [deviceModel isEqualToString:@"iPhone10,5"])   return @"iPhone 8 Plus";
    if ([deviceModel isEqualToString:@"iPhone10,3"] ||
        [deviceModel isEqualToString:@"iPhone10,6"])   return @"iPhone X";
    if ([deviceModel isEqualToString:@"iPhone11,2"])   return @"iPhone XS";
    if ([deviceModel isEqualToString:@"iPhone11,6"])   return @"iPhone XS Max";
    if ([deviceModel isEqualToString:@"iPhone11,8"])   return @"iPhone XR";
    if ([deviceModel isEqualToString:@"iPhone12,1"])   return @"iPhone 11";
    if ([deviceModel isEqualToString:@"iPhone12,3"])   return @"iPhone 11 Pro";
    if ([deviceModel isEqualToString:@"iPhone12,5"])   return @"iPhone 11 Pro Max";
    if ([deviceModel isEqualToString:@"iPhone12,8"])   return @"iPhone SE Gen2";
    
#pragma mark iPad
    
    if ([deviceModel isEqualToString:@"iPad1,1"])      return @"iPad 1";
    if ([deviceModel isEqualToString:@"iPad2,1"] ||
        [deviceModel isEqualToString:@"iPad2,2"] ||
        [deviceModel isEqualToString:@"iPad2,3"] ||
        [deviceModel isEqualToString:@"iPad2,4"])      return @"iPad 2";
    if ([deviceModel isEqualToString:@"iPad3,1"] ||
        [deviceModel isEqualToString:@"iPad3,2"] ||
        [deviceModel isEqualToString:@"iPad3,3"])      return @"iPad 3";
    if ([deviceModel isEqualToString:@"iPad3,4"] ||
        [deviceModel isEqualToString:@"iPad3,5"] ||
        [deviceModel isEqualToString:@"iPad3,6"])      return @"iPad 4";
    if ([deviceModel isEqualToString:@"iPad2,5"] ||
        [deviceModel isEqualToString:@"iPad2,6"] ||
        [deviceModel isEqualToString:@"iPad2,7"])      return @"iPad mini";
    if ([deviceModel isEqualToString:@"iPad4,1"] ||
        [deviceModel isEqualToString:@"iPad4,2"] ||
        [deviceModel isEqualToString:@"iPad4,3"])      return @"iPad Air";
    if ([deviceModel isEqualToString:@"iPad4,4"] ||
        [deviceModel isEqualToString:@"iPad4,5"] ||
        [deviceModel isEqualToString:@"iPad4,6"])      return @"iPad mini 2";
    if ([deviceModel isEqualToString:@"iPad5,3"] ||
        [deviceModel isEqualToString:@"iPad5,4"])      return @"iPad Air 2";
    if ([deviceModel isEqualToString:@"iPad4,7"] ||
        [deviceModel isEqualToString:@"iPad4,8"] ||
        [deviceModel isEqualToString:@"iPad4,9"])      return @"iPad mini 3";
    if ([deviceModel isEqualToString:@"iPad5,1"] ||
        [deviceModel isEqualToString:@"iPad5,2"])      return @"iPad mini 4";
    if ([deviceModel isEqualToString:@"iPad6,7"] ||
        [deviceModel isEqualToString:@"iPad6,8"])      return @"iPad PRO 12.9 Gen1";
    if ([deviceModel isEqualToString:@"iPad6,3"] ||
        [deviceModel isEqualToString:@"iPad6,4"])      return @"iPad PRO 9.7 Gen1";
    if ([deviceModel isEqualToString:@"iPad6,11"] ||
        [deviceModel isEqualToString:@"iPad6,12"])     return @"iPad 9.7 Gen1";
    if ([deviceModel isEqualToString:@"iPad7,3"] ||
        [deviceModel isEqualToString:@"iPad7,4"])      return @"iPad PRO 10.5 Gen1";
    if ([deviceModel isEqualToString:@"iPad7,1"] ||
        [deviceModel isEqualToString:@"iPad7,2"])      return @"iPad PRO 2 12.9 Gen2";
    if ([deviceModel isEqualToString:@"iPad7,5"] ||
        [deviceModel isEqualToString:@"iPad7,6"])      return @"iPad 9.7 Gen2";
    if ([deviceModel isEqualToString:@"iPad8,1"] ||
        [deviceModel isEqualToString:@"iPad8,2**"] ||
        [deviceModel isEqualToString:@"iPad8,3"] ||
        [deviceModel isEqualToString:@"iPad8,4**"])    return @"iPad Pro 11 Gen1";
    if ([deviceModel isEqualToString:@"iPad8,5"] ||
        [deviceModel isEqualToString:@"iPad8,6**"] ||
        [deviceModel isEqualToString:@"iPad8,7"] ||
        [deviceModel isEqualToString:@"iPad8,8**"])    return @"iPad Pro 12.9 Gen3";
    if ([deviceModel isEqualToString:@"iPad11,3"] ||
        [deviceModel isEqualToString:@"iPad11,4"])      return @"iPad Air 3";
    if ([deviceModel isEqualToString:@"iPad11,1"] ||
        [deviceModel isEqualToString:@"iPad11,2"])      return @"iPad Mini 5";
    if ([deviceModel isEqualToString:@"iPad7,11"] ||
        [deviceModel isEqualToString:@"iPad7,12"])       return @"iPad 10.2";
    if ([deviceModel isEqualToString:@"iPad8,9"] ||
        [deviceModel isEqualToString:@"iPad8,10"])       return @"iPad Pro 11 Gen2";
    if ([deviceModel isEqualToString:@"iPad8,11"] ||
        [deviceModel isEqualToString:@"iPad8,12"])       return @"iPad Pro 12.9 Gen4";
    
#pragma mark Simulator
    
    if ([deviceModel isEqualToString:@"i386"] ||
        [deviceModel isEqualToString:@"x86_64"])       return @"Simulator";
    
    return deviceModel;
}

09-30
cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的谐网络,我们时候会添加不到cydia里面源的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插件。可cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的谐网络,我们时候会添加不到cydia里面源的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插件。可cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的谐网络,我们时候会添加不到cydia里面源的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插件。可cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的谐网络,我们时候会添加不到cydia里面源的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插件。可cydia是苹果手机成功越狱之后所产生的一个标志。但是因为国内的谐网络,我们时候会添加不到cydia里面源的依赖包。cydia依赖包下载失败,将会导致安装失败或不完整,甚至能严重到白苹果等原因。建议在越狱后,首先安装这里全部deb。然后再继续选择安装所需插
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值