Last active
April 25, 2016 13:41
-
-
Save quard8/dadcc6f3412ae202b0dc to your computer and use it in GitHub Desktop.
Получение названия iOS устройства
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <sys/types.h> | |
#include <sys/sysctl.h> | |
-(NSString*) deviceName: | |
{ | |
size_t size; | |
sysctlbyname("hw.machine", NULL, &size, NULL, 0); | |
char answer[size]; | |
sysctlbyname("hw.machine", answer, &size, NULL, 0); | |
NSString *platform = @(answer); | |
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1"; | |
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; | |
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"; | |
if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; | |
if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4"; | |
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; | |
if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5"; | |
if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5"; | |
if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s"; | |
if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s"; | |
if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus"; | |
if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6"; | |
if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone 6s"; | |
if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus"; | |
if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; | |
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; | |
if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; | |
if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; | |
if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G"; | |
if ([platform isEqualToString:@"iPod7,1"]) return @"iPod Touch 6G"; | |
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1"; | |
if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2"; | |
if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2"; | |
if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2"; | |
if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2"; | |
if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini"; | |
if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini"; | |
if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini"; | |
if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2"; | |
if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2"; | |
if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2"; | |
if ([platform isEqualToString:@"iPad4,7"]) return @"iPad Mini 3"; | |
if ([platform isEqualToString:@"iPad4,8"]) return @"iPad Mini 3"; | |
if ([platform isEqualToString:@"iPad4,9"]) return @"iPad Mini 3"; | |
if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3"; | |
if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3"; | |
if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3"; | |
if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4"; | |
if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4"; | |
if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4"; | |
if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air"; | |
if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air"; | |
if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air"; | |
if ([platform isEqualToString:@"iPad5,3"]) return @"iPad Air 2"; | |
if ([platform isEqualToString:@"iPad5,4"]) return @"iPad Air 2"; | |
if ([platform isEqualToString:@"i386"]) return @"Simulator"; | |
if ([platform isEqualToString:@"x86_64"]) return @"Simulator"; | |
return @"Unknown"; | |
} | |
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions | |
{ | |
NSString *platform = [self deviceName]; | |
NSLog(@"Device name: %@", platform); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment