Я хочу получить доступ к информации о типе устройства в Xcode, чтобы определить, является ли это iPhone 4, 4S, 5, IPad и т.д.Определение типа устройства IOS в Xcode
Кто-нибудь знает решение?
EDIT: этот вопрос решен. Я использую следующий код, используя ответ:
- (NSString *) IphoneModel {
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = (char*)malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding: NSUTF8StringEncoding];
free(machine);
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";
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 @"Verizon iPhone 4";
if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
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:@"iPad1,1"]) return @"iPad";
if ([platform isEqualToString:@"iPad1,2"]) return @"iPad (3G)";
if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)";
if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)";
if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)";
if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3 (WiFi)";
if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3 (GSM)";
if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3 (CDMA)";
if ([platform isEqualToString:@"i386"]) return @"Simulator";
return platform;
}
Я знаю, что это небезопасно решение, но он будет работать сейчас, пока я не сделал с более важными задачами.
Вы действительно хотите эту информацию в Xcode (desktop IDE) или в приложении iOS, созданном с использованием Xcode? –
Вопрос, который так много раз спрашивал. Проверьте этот http://stackoverflow.com/questions/1108859/detect-the-specific-iphone-ipod-touch-model или используйте экран устройства ... – Larme
Невозможно найти, какое устройство вы используете. Лучше пойдите для размера экрана и соответствующим образом обработайте свои взгляды. Поиск устройств - это далеко идущий подход, и Apple не рекомендует его. – Saify