import UIKit public extension UIDevice { var modelName : String { var systemInfo = utsname () uname (& systemInfo ) let machineMirror = Mirror ( reflecting : systemInfo . machine ) let identifier = machineMirror . children . reduce ( "" ) { identifier , element in guard let value = element . value as ? Int8 where value != 0 else { 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 "iPhone 4" case "iPhone4,1" : return "iPhone 4s" case "iPhone...