专门做网站建设的公司,wordpress怎么社交分享,wordpress配置cdn访问最快,免费seo课程每一种 iOS 设备型号都有对应的一个或多个硬件编码/标识符#xff0c;称为 device model 或者叫 machine name
通常的做法是#xff0c;先获取设备的 device model 值#xff0c;再手动映射为具体的设备型号#xff08;或者直接把 device model 值传给后端#xff0c;让后…每一种 iOS 设备型号都有对应的一个或多个硬件编码/标识符称为 device model 或者叫 machine name
通常的做法是先获取设备的 device model 值再手动映射为具体的设备型号或者直接把 device model 值传给后端让后端去做映射这样的好处是可以随时兼容新设备。
完整的 device mode 数据参考 Wikihttps://www.theiphonewiki.com/wiki/Models
我们可以先获取 device model 值记为 internalName 然后进行对比判断转换成具体的设备型号。实现代码如下图所示 (NSString *)deviceName {struct utsname systemInfo;uname(systemInfo);NSString *internalName [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];NSDictionary *dict {// iPhoneiPhone1,1 : iPhone,iPhone1,2 : iPhone 3G,iPhone2,1 : iPhone 3GS,iPhone3,1 : iPhone 4,iPhone3,2 : iPhone 4,iPhone3,3 : iPhone 4,iPhone4,1 : iPhone 4S,iPhone5,1 : iPhone 5,iPhone5,2 : iPhone 5,iPhone5,3 : iPhone 5c,iPhone5,4 : iPhone 5c,iPhone6,1 : iPhone 5s,iPhone6,2 : iPhone 5s,iPhone7,2 : iPhone 6,iPhone7,1 : iPhone 6 Plus,iPhone8,1 : iPhone 6s,iPhone8,2 : iPhone 6s Plus,iPhone8,4 : iPhone SE (1st generation),iPhone9,1 : iPhone 7,iPhone9,3 : iPhone 7,iPhone9,2 : iPhone 7 Plus,iPhone9,4 : iPhone 7 Plus,iPhone10,1 : iPhone 8,iPhone10,4 : iPhone 8,iPhone10,2 : iPhone 8 Plus,iPhone10,5 : iPhone 8 Plus,iPhone10,3 : iPhone X,iPhone10,6 : iPhone X,iPhone11,8 : iPhone XR,iPhone11,2 : iPhone XS,iPhone11,6 : iPhone XS Max,iPhone11,4 : iPhone XS Max,iPhone12,1 : iPhone 11,iPhone12,3 : iPhone 11 Pro,iPhone12,5 : iPhone 11 Pro Max,iPhone12,8 : iPhone SE (2nd generation),iPhone13,1 : iPhone 12 mini,iPhone13,2 : iPhone 12,iPhone13,3 : iPhone 12 Pro,iPhone13,4 : iPhone 12 Pro Max,iPhone14,4 : iPhone 13 mini,iPhone14,5 : iPhone 13,iPhone14,2 : iPhone 13 Pro,iPhone14,3 : iPhone 13 Pro Max,iPhone14,6 : iPhone SE (3rd generation),iPhone14,7 : iPhone 14,iPhone14,8 : iPhone 14 Plus,iPhone15,2 : iPhone 14 Pro,iPhone15,3 : iPhone 14 Pro Max,// iPadiPad1,1 : iPad,iPad2,1 : iPad 2,iPad2,2 : iPad 2,iPad2,3 : iPad 2,iPad2,4 : iPad 2,iPad3,1 : iPad (3rd generation),iPad3,2 : iPad (3rd generation),iPad3,3 : iPad (3rd generation),iPad3,4 : iPad (4th generation),iPad3,5 : iPad (4th generation),iPad3,6 : iPad (4th generation),iPad6,11 : iPad (5th generation),iPad6,12 : iPad (5th generation),iPad7,5 : iPad (6th generation),iPad7,6 : iPad (6th generation),iPad7,11 : iPad (7th generation),iPad7,12 : iPad (7th generation),// iPad AiriPad4,1 : iPad Air,iPad4,2 : iPad Air,iPad4,3 : iPad Air,iPad5,3 : iPad Air 2,iPad5,4 : iPad Air 2,iPad11,3 : iPad Air (3rd generation),iPad11,4 : iPad Air (3rd generation),// iPad ProiPad6,7 : iPad Pro (12.9-inch),iPad6,8 : iPad Pro (12.9-inch),iPad6,3 : iPad Pro (9.7-inch),iPad6,4 : iPad Pro (9.7-inch),iPad7,1 : iPad Pro (12.9-inch) (2nd generation),iPad7,2 : iPad Pro (12.9-inch) (2nd generation),iPad7,3 : iPad Pro (10.5-inch),iPad7,4 : iPad Pro (10.5-inch),iPad8,1 : iPad Pro (11-inch),iPad8,2 : iPad Pro (11-inch),iPad8,3 : iPad Pro (11-inch),iPad8,4 : iPad Pro (11-inch),iPad8,5 : iPad Pro (12.9-inch) (3rd generation),iPad8,6 : iPad Pro (12.9-inch) (3rd generation),iPad8,7 : iPad Pro (12.9-inch) (3rd generation),iPad8,8 : iPad Pro (12.9-inch) (3rd generation),iPad8,9 : iPad Pro (11-inch) (2nd generation),iPad8,10 : iPad Pro (11-inch) (2nd generation),iPad8,11 : iPad Pro (12.9-inch) (4th generation),iPad8,12 : iPad Pro (12.9-inch) (4th generation),// iPad miniiPad2,5 : iPad mini,iPad2,6 : iPad mini,iPad2,7 : iPad mini,iPad4,4 : iPad mini 2,iPad4,5 : iPad mini 2,iPad4,6 : iPad mini 2,iPad4,7 : iPad mini 3,iPad4,8 : iPad mini 3,iPad4,9 : iPad mini 3,iPad5,1 : iPad mini 4,iPad5,2 : iPad mini 4,iPad11,1 : iPad mini (5th generation),iPad11,2 : iPad mini (5th generation),//otheri386:iPhone Simulator,x86_64:iPhone Simulator,};NSString *model [dict objectForKey:internalName];if (model.length 0) {model internalName;}return model;
}