iOS开发 获取手机型号

+ (NSString *)deviceName
{
    static NSString *deviceName = nil;
    
    if (deviceName == nil) {
        struct utsname systemInfo;
        uname(&systemInfo);
        //UI_USER_INTERFACE_IDIOM
        deviceName = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
    }
    return deviceName;
}
+ (NSString *)platformString{
    
    NSString *platform = [self deviceName];
    
    if ([platform hasPrefix:@"iPhone"]) {
        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,4"]) return @"iPhone 8";
        if ([platform isEqualToString:@"iPhone10,2"]) return @"iPhone 8 Plus";
        if ([platform isEqualToString:@"iPhone10,5"]) return @"iPhone 8 Plus";
        if ([platform isEqualToString:@"iPhone10,3"]) return @"iPhone X";
        if ([platform isEqualToString:@"iPhone10,6"]) return @"iPhone X";
        if ([platform isEqualToString:@"iPhone11,8"]) return @"iPhone XR";
        if ([platform isEqualToString:@"iPhone11,2"]) return @"iPhone XS";
        if ([platform isEqualToString:@"iPhone11,6"]) return @"iPhone XS Max";
        if ([platform isEqualToString:@"iPhone11,4"]) return @"iPhone XS Max";
        if ([platform isEqualToString:@"iPhone12,1"]) return @"iPhone 11";
        if ([platform isEqualToString:@"iPhone12,3"]) return @"iPhone 11 Pro";
        if ([platform isEqualToString:@"iPhone12,5"]) return @"iPhone 11 ProMax";
        if ([platform isEqualToString:@"iPhone12,8"]) return @"iPhone SE(2nd generation)";
        if ([platform isEqualToString:@"iPhone13,1"]) return @"iPhone 12 mini";
        if ([platform isEqualToString:@"iPhone13,2"]) return @"iPhone 12";
        if ([platform isEqualToString:@"iPhone13,3"]) return @"iPhone 12 Pro";
        if ([platform isEqualToString:@"iPhone13,4"]) return @"iPhone 12 ProMax";
        if ([platform isEqualToString:@"iPhone14,4"]) return @"iPhone 13 mini";
        if ([platform isEqualToString:@"iPhone14,5"]) return @"iPhone 13";
        if ([platform isEqualToString:@"iPhone14,2"]) return @"iPhone 13 Pro";
        if ([platform isEqualToString:@"iPhone14,3"]) return @"iPhone 13 ProMax";
        if ([platform isEqualToString:@"iPhone14,6"]) return @"iPhone SE (3rd generation)";
        if ([platform isEqualToString:@"iPhone14,7"]) return @"iPhone 14";
        if ([platform isEqualToString:@"iPhone14,8"]) return @"iPhone 14 Plus";
        if ([platform isEqualToString:@"iPhone15,2"]) return @"iPhone 14 Pro";
        if ([platform isEqualToString:@"iPhone15,3"]) return @"iPhone 14 ProMax";
        if ([platform isEqualToString:@"iPhone15,4"]) return @"iPhone 15";
        if ([platform isEqualToString:@"iPhone15,5"]) return @"iPhone 15 Plus";
        if ([platform isEqualToString:@"iPhone16,1"]) return @"iPhone 15 Pro";
        if ([platform isEqualToString:@"iPhone16,2"]) return @"iPhone 15 ProMax";
        if ([platform isEqualToString:@"iPhone17,1"]) return @"iPhone 16 Pro";
        if ([platform isEqualToString:@"iPhone17,2"]) return @"iPhone 16 ProMax";
        if ([platform isEqualToString:@"iPhone17,3"]) return @"iPhone 16";
        if ([platform isEqualToString:@"iPhone17,4"]) return @"iPhone 16 Plus";
        if ([platform isEqualToString:@"iPhone17,5"]) return @"iPhone 16e";
        return @"iPhone";
    }
    
    if ([platform hasPrefix:@"iPod"]) {
        if ([platform isEqualToString:@"iPod1,1"])   return @"iPod Touch 1";
        if ([platform isEqualToString:@"iPod2,1"])   return @"iPod Touch 2";
        if ([platform isEqualToString:@"iPod3,1"])   return @"iPod Touch 3";
        if ([platform isEqualToString:@"iPod4,1"])   return @"iPod Touch 4";
        if ([platform isEqualToString:@"iPod5,1"])   return @"iPod Touch 5";
        if ([platform isEqualToString:@"iPod7,1"])   return @"iPod Touch 6";
        if ([platform isEqualToString:@"iPod9,1"])   return @"iPod Touch 7";
        return @"iPod Touch";
    }
    
    if ([platform hasPrefix:@"iPad"]) {
       
        if ([platform isEqualToString:@"iPad2,5"])   return @"iPad Mini 1";
        if ([platform isEqualToString:@"iPad2,6"])   return @"iPad Mini 1";
        if ([platform isEqualToString:@"iPad2,7"])   return @"iPad Mini 1";
        if ([platform isEqualToString:@"iPad4,4"])   return @"iPad Mini 2";
        if ([platform isEqualToString:@"iPad4,5"])   return @"iPad Mini 2";
        if ([platform isEqualToString:@"iPad4,6"])   return @"iPad Mini 2";
        if ([platform isEqualToString:@"iPad4,7"])   return @"iPad Mini 3";
        if ([platform isEqualToString:@"iPad4,8"])   return @"iPad Mini 3";
        if ([platform isEqualToString:@"iPad4,9"])   return @"iPad Mini 3";
        if ([platform isEqualToString:@"iPad5,1"])   return @"iPad Mini 4";
        if ([platform isEqualToString:@"iPad5,2"])   return @"iPad Mini 4";
        if ([platform isEqualToString:@"iPad11,1"])  return @"iPad Mini 5";
        if ([platform isEqualToString:@"iPad11,2"])  return @"iPad Mini 5";
        if ([platform isEqualToString:@"iPad14,1"])  return @"iPad Mini 6";
        if ([platform isEqualToString:@"iPad14,2"])  return @"iPad Mini 6";
         //iPad Pro
        if ([platform isEqualToString:@"iPad6,3"])   return @"iPad Pro_9.7";
        if ([platform isEqualToString:@"iPad6,4"])   return @"iPad Pro_9.7";
        if ([platform isEqualToString:@"iPad6,7"])   return @"iPad Pro_12.9";
        if ([platform isEqualToString:@"iPad6,8"])   return @"iPad Pro_12.9";
        if ([platform isEqualToString:@"iPad7,1"])   return @"iPad Pro 2_12.9";
        if ([platform isEqualToString:@"iPad7,2"])   return @"iPad Pro 2_12.9";
        if ([platform isEqualToString:@"iPad7,3"])   return @"iPad Pro_10.5";
        if ([platform isEqualToString:@"iPad7,4"])   return @"iPad Pro_10.5";
        if ([platform isEqualToString:@"iPad8,1"])   return @"iPad Pro_11";
        if ([platform isEqualToString:@"iPad8,2"])   return @"iPad Pro_11";
        if ([platform isEqualToString:@"iPad8,3"])   return @"iPad Pro_11";
        if ([platform isEqualToString:@"iPad8,4"])   return @"iPad Pro_11";
        if ([platform isEqualToString:@"iPad8,5"])   return @"iPad Pro 3_12.9";
        if ([platform isEqualToString:@"iPad8,6"])   return @"iPad Pro 3_12.9";
        if ([platform isEqualToString:@"iPad8,7"])   return @"iPad Pro 3_12.9";
        if ([platform isEqualToString:@"iPad8,8"])   return @"iPad Pro 3_12.9";
        if ([platform isEqualToString:@"iPad8,8"])   return @"iPad Pro 2_11";
        if ([platform isEqualToString:@"iPad8,10"])  return @"iPad Pro 2_11";
        if ([platform isEqualToString:@"iPad8,11"])  return @"iPad Pro 4_12.9";
        if ([platform isEqualToString:@"iPad8,12"])  return @"iPad Pro 4_12.9";
        if ([platform isEqualToString:@"iPad13,4"])  return @"iPad Pro 3_11";
        if ([platform isEqualToString:@"iPad13,5"])  return @"iPad Pro 3_11";
        if ([platform isEqualToString:@"iPad13,6"])  return @"iPad Pro 3_11";
        if ([platform isEqualToString:@"iPad13,7"])  return @"iPad Pro 3_11";
        if ([platform isEqualToString:@"iPad13,8"])  return @"iPad Pro 5_12.9";
        if ([platform isEqualToString:@"iPad13,9"])  return @"iPad Pro 5_12.9";
        if ([platform isEqualToString:@"iPad13,10"]) return @"iPad Pro 5_12.9";
        if ([platform isEqualToString:@"iPad13,11"]) return @"iPad Pro 5_12.9";
        if ([platform isEqualToString:@"iPad14,3"]) return @"iPad Pro 4_11";
        if ([platform isEqualToString:@"iPad14,4"]) return @"iPad Pro 4_11";
        if ([platform isEqualToString:@"iPad14,5"]) return @"iPad Pro 6_12.9";
        if ([platform isEqualToString:@"iPad14,6"]) return @"iPad Pro 6_12.9";
        if ([platform isEqualToString:@"iPad16,3"]) return @"iPad Pro M4_11";
        if ([platform isEqualToString:@"iPad16,4"]) return @"iPad Pro M4_11";
        if ([platform isEqualToString:@"iPad16,5"]) return @"iPad Pro M4_13";
        if ([platform isEqualToString:@"iPad16,6"]) return @"iPad Pro M4_13";
         //iPad Air
        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:@"iPad5,3"])    return @"iPad Air 2";
        if ([platform isEqualToString:@"iPad5,4"])    return @"iPad Air 2";
        if ([platform isEqualToString:@"iPad11,3"])   return @"iPad Air 3";
        if ([platform isEqualToString:@"iPad11,4"])   return @"iPad Air 3";
        if ([platform isEqualToString:@"iPad13,1"])   return @"iPad Air 4";
        if ([platform isEqualToString:@"iPad13,2"])   return @"iPad Air 4";
        if ([platform isEqualToString:@"iPad13,3"])   return @"iPad Air 4";
        if ([platform isEqualToString:@"iPad13,16"])   return @"iPad Air 5";
        if ([platform isEqualToString:@"iPad13,17"])   return @"iPad Air 5";
        if ([platform isEqualToString:@"iPad14,8"])   return @"iPad Air M2_11";
        if ([platform isEqualToString:@"iPad14,9"])   return @"iPad Air M2_11";
        if ([platform isEqualToString:@"iPad14,10"])   return @"iPad Air M2_13";
        if ([platform isEqualToString:@"iPad14,11"])   return @"iPad Air M2_13";
         //iPad
        if ([platform isEqualToString:@"iPad1,1"])    return @"iPad 1";
        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:@"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:@"iPad6,11"])   return @"iPad 5";
        if ([platform isEqualToString:@"iPad6,12"])   return @"iPad 5";
        if ([platform isEqualToString:@"iPad7,5"])    return @"iPad 6";
        if ([platform isEqualToString:@"iPad7,6"])    return @"iPad 6";
        if ([platform isEqualToString:@"iPad7,11"])   return @"iPad 7";
        if ([platform isEqualToString:@"iPad7,12"])   return @"iPad 7";
        if ([platform isEqualToString:@"iPad11,6"])   return @"iPad 8";
        if ([platform isEqualToString:@"iPad11,7"])   return @"iPad 8";
        if ([platform isEqualToString:@"iPad12,1"])   return @"iPad 9";
        if ([platform isEqualToString:@"iPad12,2"])   return @"iPad 9";
        if ([platform isEqualToString:@"iPad13,18"])   return @"iPad 10";
        if ([platform isEqualToString:@"iPad13,19"])   return @"iPad 10";
        return @"iPad";
    }
    
    if ([platform hasPrefix:@"Watch"]) {
        
        if ([platform isEqualToString:@"Watch1,1"])      return @"Apple Watch 38mm";
        if ([platform isEqualToString:@"Watch1,2"])      return @"Apple Watch 42mm";
        if ([platform isEqualToString:@"Watch2,6"])      return @"Apple Watch Series 1 38mm";
        if ([platform isEqualToString:@"Watch2,7"])      return @"Apple Watch Series 1 42mm";
        if ([platform isEqualToString:@"Watch2,3"])      return @"Apple Watch Series 2 38mm";
        if ([platform isEqualToString:@"Watch2,4"])      return @"Apple Watch Series 2 42mm";
        
        return @"Apple Watch";
        
    }
    
    if ([platform hasPrefix:@"AppleTV"]) {
        
        return @"AppleTV";
    }
    
    if ([platform isEqualToString:@"i386"])              return @"Simulator";
    if ([platform isEqualToString:@"x86_64"])            return @"Simulator";
    if ([platform isEqualToString:@"Simulator"])         return @"Simulator";
    
    return @"未知设备";
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。