2014-09-09 4 views
31

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

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

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

  • iPhone 6 (GSM): iPhone7,1
  • iPhone 6 (Global): iPhone7,2
  • iPhone 6 Plus (GSM): iPhone7,3
  • iPhone 6 Plus (Global): iPhone7,4
+1

На самом деле это может быть полезно вопрос: Модель аппаратного обеспечения может - в некоторых случаях - можно использовать для определения вычислительной мощности устройства я работает. Это может быть полезно решить, следует ли использовать, например, высококачественный рендеринг или рендеринг низкого качества в игре, чтобы он выглядел и работает лучше всего на основе устройства. –

+2

Как минимум один iPhone 6 был идентифицирован как «iPhone7,2»: http://9to5mac.com/2014/09/09/iphone-6-ran-through-geekbench-once-again-suggests-1-gb- ram-dual-core-a8/ – ThomasW

+0

@ThomasW Спасибо за публикацию статьи. Это очень полезно. По крайней мере, мы знаем, что все они имеют префикс iPhone7 так же, как я и предсказывал. Однако мы до сих пор не знаем, какой вариант. – Trung

ответ

25

Update: Моя компания теперь имеет VERIZON iPhone 6 и 6 Plus, вот что я нашел

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

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

Так что я немного поработал в the IPSW files for 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 устройства.

+0

Каковы строки для телефонов GSM? – progrmr

+0

Я только что получил свой iPhone 6 Plus (T-Mobile/GSM), а строка такая же, как у телефона Verizon: 'iPhone7,1' – progrmr

+0

Интересно, почему iPhone7,1 - это 6 Plus, а не наоборот , Может быть, разработка iPhone 6 Plus была начата/завершена до меньшего iPhone 6? –

7

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

iPhone 6 Plus:iPhone7,1

iPhone 6:iPhone7,2

+0

Отличная находка. Однако он не говорит о вариантах. iPhone 5S имеет 2 варианта, но profile.plist показывает только 1. – Trung

+0

полный путь к файлу: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/CoreSimulator/Profiles/DeviceTypes/iPhone 6.simdevicetype/Содержание/Ресурсы/profile.plist Ищите идентификатор модели. – Trung

+0

Это путь только для одного устройства, есть другие. – quellish

2

http://theiphonewiki.com/wiki/IPhone

iPhone 6 Plus: iPhone7,1

iPhone 6: iPhone7,2

+0

Я тоже это видел, но мы не знаем, что их источник для этой информации. –

+0

На самом деле они говорят: Ссылки лейтмотивы сами apple.com Но я не уверен, что это проверенная информация –

9

платформы Струны для нового 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"; 
+2

вы ошибаетесь, это должен быть iPhone8,1: iPhone 6s И iPhone8,2: iPhone 6s Plus – azimov

+1

Подтверждено, что мой iPhone 6S называет себя iPhone8,1 (непоследовательным, хотя это так!) –

+0

@PeterJohnson Спасибо за подтверждение этого непоследовательного ids. Я обновил свой пост. – Cosmin

Смежные вопросы