+ (
NSString
*)deviceString
{
struct
utsname systemInfo;
uname(&systemInfo);
NSString
*deviceString = [
NSString
stringWithCString:systemInfo.machine encoding:
NSUTF8StringEncoding
];
if
([deviceString isEqualToString:@
"iPhone1,1"
])
return
@
"iPhone 1G"
;
if
([deviceString isEqualToString:@
"iPhone1,2"
])
return
@
"iPhone 3G"
;
if
([deviceString isEqualToString:@
"iPhone2,1"
])
return
@
"iPhone 3GS"
;
if
([deviceString isEqualToString:@
"iPhone3,1"
])
return
@
"iPhone 4"
;
if
([deviceString isEqualToString:@
"iPhone4,1"
])
return
@
"iPhone 4S"
;
if
([deviceString isEqualToString:@
"iPhone5,2"
])
return
@
"iPhone 5"
;
if
([deviceString isEqualToString:@
"iPhone3,2"
])
return
@
"Verizon iPhone 4"
;
if
([deviceString isEqualToString:@
"iPod1,1"
])
return
@
"iPod Touch 1G"
;
if
([deviceString isEqualToString:@
"iPod2,1"
])
return
@
"iPod Touch 2G"
;
if
([deviceString isEqualToString:@
"iPod3,1"
])
return
@
"iPod Touch 3G"
;
if
([deviceString isEqualToString:@
"iPod4,1"
])
return
@
"iPod Touch 4G"
;
if
([deviceString isEqualToString:@
"iPad1,1"
])
return
@
"iPad"
;
if
([deviceString isEqualToString:@
"iPad2,1"
])
return
@
"iPad 2 (WiFi)"
;
if
([deviceString isEqualToString:@
"iPad2,2"
])
return
@
"iPad 2 (GSM)"
;
if
([deviceString isEqualToString:@
"iPad2,3"
])
return
@
"iPad 2 (CDMA)"
;
if
([deviceString isEqualToString:@
"i386"
])
return
@
"Simulator"
;
if
([deviceString isEqualToString:@
"x86_64"
])
return
@
"Simulator"
;
NSLog
(@
"NOTE: Unknown device type: %@"
, deviceString);
return
deviceString;
}