调用的地方:
let Sys_Model = UIDevice.modelName() //sys_model为设备名
//MARK: - 设备的具体型号
extensionUIDevice {
staticfuncmodelName() ->String{
var systemInfo = utsname()
uname(&systemInfo)
let machineMirror = Mirror(reflecting: systemInfo.machine)
let identifier = machineMirror.children.reduce("") { identifier, element in
guardlet value = element.value as? Int8, value !=0else{return identifier }
return identifier +String(UnicodeScalar(UInt8(value)))
}
switch identifier {
case"iPod5,1":
return"iPod Touch 5"
case"iPod7,1":
return"iPod Touch 6"
case"iPhone3,1", "iPhone3,2", "iPhone3,3":
return"iPhone4"
case"iPhone4,1":
return"iPhone4s"
case"iPhone5,1","iPhone5,2":
return"iPhone5"
case"iPhone5,3", "iPhone5,4":
return"iPhone5c"
case"iPhone6,1", "iPhone6,2":
return"iPhone5s"
case"iPhone7,2":
return"iPhone6"
case"iPhone7,1":
return"iPhone6 Plus"
case"iPhone8,1":
return"iPhone6s"
case"iPhone8,2":
return"iPhone6s Plus"
case"iPhone8,4":
return"iPhoneSE"
case"iPhone9,1", "iPhone9,3":
return"iPhone7"
case"iPhone9,2", "iPhone9,4":
return"iPhone7 Plus"
case"iPhone10,1", "iPhone10,4":
return"iPhone8"
case"iPhone10,5", "iPhone10,2":
return"iPhone8 Plus"
case"iPhone10,3", "iPhone10,6":
return"iPhoneX"
case"iPhone11,2":
return"iPhoneXS"
case"iPhone11,6":
return"iPhoneXS MAX"
case"iPhone11,8":
return"iPhoneXR"
case"iPhone12,1":
return"iPhone11"
case"iPhone12,3":
return"iPhone11 ProMax"
case"iPhone12,5":
return"iPhone11 Pro"
case"iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4":
return"iPad 2"
case"iPad3,1", "iPad3,2", "iPad3,3":
return"iPad 3"
case"iPad3,4", "iPad3,5", "iPad3,6":
return"iPad 4"
case"iPad4,1", "iPad4,2", "iPad4,3":
return"iPad Air"
case"iPad5,3","iPad5,4":
return"iPad Air 2"
case"iPad2,5", "iPad2,6", "iPad2,7":
return"iPad Mini"
case"iPad4,4", "iPad4,5", "iPad4,6":
return"iPad Mini 2"
case"iPad4,7", "iPad4,8", "iPad4,9":
return"iPad Mini 3"
case"iPad5,1","iPad5,2":
return"iPad Mini 4"
case"iPad6,7","iPad6,8":
return"iPad Pro"
case"AppleTV5,3":
return"Apple TV"
case"i386","x86_64":
return"Simulator"
default:
return identifier
}
}
}