Что такое платформа для iPhone 6 и 6 Plus?

Что такое платформа для iPhone 6 и 6 Plus?

FYI: строка платформы важна, поскольку она помогает идентифицировать модель HW для целей программирования.

Ниже мое предположение:

  • iPhone 6 (GSM): iPhone7,1
  • iPhone 6 (глобальный): iPhone7,2
  • iPhone 6 Plus (GSM): iPhone7,3
  • iPhone 6 Plus (Global): iPhone7,4

Ответ 1

Обновление: у моей компании теперь есть iPhone версии 6 и 6 Plus Verizon, вот что я нашел

  • iPhone7,1 = iPhone 6 Plus
  • iPhone7,2 = iPhone 6

Старый ответ ниже для потомков.


Итак, я немного поработал в файлах IPSW для iOS 8. Есть 2 файла для 2 моделей iPhone 6; iPhone7,1 и iPhone7,2. Файл IPSW iPhone7,2 содержит файл с именем kernelcache.release.n61 и N61, как известно, является внутренним именем для iPhone 6. Аналогичным образом, файл IPSW для iPhone7,1 содержит файл kernelcache.release.n56, а N56 - это iPhone 6 Плюс. Кроме того, прошивка iPhone7,1 содержит активы с изображением @3x, а iPhone7,2 содержит активы @2x.

Таким образом:

  • iPhone7,1 = N56 = iPhone 6 Plus
  • iPhone7,2 = N61 = iPhone 6

Кажется, что нет никаких вариантов двух устройств.

Ответ 2

Платформенные строки для новых iPhone 6, 6s, 6 Plus и 6s Plus:

  • iPhone7,1: iPhone 6 Plus
  • iPhone7,2: iPhone 6
  • iPhone8,1: iPhone 6s
  • iPhone8,2: iPhone 6s Plus
  • iPhone8,4: iPhone SE

Кроме того, вот фрагмент со всеми строками платформы с начала времени:

if ([platform isEqualToString:@"iPhone1,1"])    return @"iPhone 2G";
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,2"])    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 (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone5,3"])    return @"iPhone 5c (GSM)";
if ([platform isEqualToString:@"iPhone5,4"])    return @"iPhone 5c (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone6,1"])    return @"iPhone 5s (GSM)";
if ([platform isEqualToString:@"iPhone6,2"])    return @"iPhone 5s (GSM+CDMA)";
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:@"iPhone8,4"])    return @"iPhone SE";

if ([platform isEqualToString:@"iPod1,1"])      return @"iPod Touch (1 Gen)";
if ([platform isEqualToString:@"iPod2,1"])      return @"iPod Touch (2 Gen)";
if ([platform isEqualToString:@"iPod3,1"])      return @"iPod Touch (3 Gen)";
if ([platform isEqualToString:@"iPod4,1"])      return @"iPod Touch (4 Gen)";
if ([platform isEqualToString:@"iPod5,1"])      return @"iPod Touch (5 Gen)";

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";
if ([platform isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";
if ([platform isEqualToString:@"iPad2,4"])      return @"iPad 2";
if ([platform isEqualToString:@"iPad2,5"])      return @"iPad Mini (WiFi)";
if ([platform isEqualToString:@"iPad2,6"])      return @"iPad Mini";
if ([platform isEqualToString:@"iPad2,7"])      return @"iPad Mini (GSM+CDMA)";
if ([platform isEqualToString:@"iPad3,1"])      return @"iPad 3 (WiFi)";
if ([platform isEqualToString:@"iPad3,2"])      return @"iPad 3 (GSM+CDMA)";
if ([platform isEqualToString:@"iPad3,3"])      return @"iPad 3";
if ([platform isEqualToString:@"iPad3,4"])      return @"iPad 4 (WiFi)";
if ([platform isEqualToString:@"iPad3,5"])      return @"iPad 4";
if ([platform isEqualToString:@"iPad3,6"])      return @"iPad 4 (GSM+CDMA)";
if ([platform isEqualToString:@"iPad4,1"])      return @"iPad Air (WiFi)";
if ([platform isEqualToString:@"iPad4,2"])      return @"iPad Air (Cellular)";
if ([platform isEqualToString:@"iPad4,4"])      return @"iPad Mini 2 (WiFi)";
if ([platform isEqualToString:@"iPad4,5"])      return @"iPad Mini 2 (Cellular)";
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:@"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";

Ответ 3

Если вы заглянете внутрь профилей устройства в /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/CoreSimulator/Profiles/DeviceTypes (используя Xcode 6), вы увидите:

iPhone 6 Plus: iPhone7,1

iPhone 6: iPhone7,2

Ответ 6

Кажется, что он обновлен с самыми современными моделями.

UIDeviceHardware