Skip to content

xiaozao2008/SwiftDevice_utsname

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwiftDevice_utsname

iOS设备具体型号

欢迎各位补充型号.

  var systemInfo = utsname()
  uname(&systemInfo)
  let machineMirror = Mirror(reflecting: systemInfo.machine)
  let identifier = machineMirror.children.reduce("") { (identifier, elementin) -> String in
    guard let value = elementin.value as? Int8, value != 0 else { return identifier }
    return identifier + String(UnicodeScalar(UInt8(value)))
  }
  print(identifier)

  switch identifier {
    case"iPod5,1":                               return .iPodTouch5
    case"iPod7,1":                               return .iPodTouch6
    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 .iPhone6P
    case"iPhone8,1":                             return .iPhone6S
    case"iPhone8,2":                             return .iPhone6SP
    case"iPhone8,3","iPhone8,4":                 return .iPhoneSE
    case"iPhone9,1","iPhone9,3":                 return .iPhone7
    case"iPhone9,2","iPhone9,4":                 return .iPhone7P
    case"iPhone10,1","iPhone10,4":               return .iPhone8
    case"iPhone10,2","iPhone10,5":               return .iPhone8P
    case"iPhone10,3":                            return .iPhoneX
    case"iPad2,1","iPad2,2","iPad2,3","iPad2,4": return .iPad2
    case"iPad3,1","iPad3,2","iPad3,3":           return .iPad3
    case"iPad3,4","iPad3,5","iPad3,6":           return .iPad4
    case"iPad4,1","iPad4,2","iPad4,3":           return .iPadAir
    case"iPad5,3","iPad5,4":                     return .iPadAir2
    case"iPad2,5","iPad2,6","iPad2,7":           return .iPadMini
    case"iPad4,4","iPad4,5","iPad4,6":           return .iPadMini2
    case"iPad4,7","iPad4,8","iPad4,9":           return .iPadMini3
    case"iPad5,1","iPad5,2":                     return .iPadMini4
    case"iPad6,7","iPad6,8":                     return .iPadPro
    case"AppleTV5,3":                            return .AppleTV
    case"i386","x86_64":                         return .Simulator
    default:                                     return .none(identifier)
    }

About

iOS设备具体型号

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages