iPhone 6和6 Plus的平台字符串是什么?

31

iPhone 6和6 Plus的平台字符串是什么?

FYI:平台字符串很重要,因为它有助于为编程目的识别硬件模型。

以下是我的猜测:

  • iPhone 6(GSM):iPhone7,1
  • iPhone 6(全球通用):iPhone7,2
  • iPhone 6 Plus(GSM):iPhone7,3
  • iPhone 6 Plus(全球通用):iPhone7,4

1
这实际上可能是一个有用的问题:硬件型号可以在某些情况下用于确定我正在运行的设备的计算能力。这可以帮助决定是否在游戏中使用高质量渲染或低质量渲染,以便根据设备使其看起来和表现最佳。 - Johannes Fahrenkrug
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
@ThomasW 感谢您发布这篇文章,非常有帮助。至少我们知道它们都有“iPhone7”前缀,就像我预测的一样。然而,我们仍然不知道它是哪个变体。 - Trung
iPhone 7和iPhone 7+有任何更新吗? - Ahmad F
iPhone9,1 = iPhone 7 CDMA; iPhone9,3 = iPhone 7 GSM; iPhone9,2 = iPhone 7+ CDMA; iPhone9,4 = iPhone 7+ GSM - Trung
6个回答

25
更新:我的公司现在有一款威瑞森iPhone6和6 Plus,以下是我找到的内容:
  • iPhone7,1 = iPhone 6 Plus
  • iPhone7,2 = iPhone 6

以下是为了纪念而写下的旧回答。


我在iOS 8的IPSW文件中做了一些挖掘。这里有2个iPhone 6型号的文件;iPhone7,1和iPhone7,2。iPhone7,2 IPSW文件包含一个名为kernelcache.release.n61的文件,而N61是iPhone 6的内部名称。类似地,iPhone7,1的IPSW文件包含一个kernelcache.release.n56文件,N56是iPhone 6 Plus。此外,iPhone7,1固件包含@3x图像资源,而iPhone7,2则包含@2x资源。

因此:

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

似乎没有任何变体的这两个设备。


GSM手机的字符串是什么? - progrmr
我刚拿到我的 iPhone 6 Plus(T-Mobile / GSM),字符串与您的 Verizon 手机相同:iPhone7,1 - progrmr
我想知道为什么iPhone7,1是6 Plus,而不是反过来。也许是因为iPhone 6 Plus的开发比较早/完成得比较早,比较小的iPhone 6之后才开始开发? - Ricardo Sanchez-Saez
1
这很有趣。内部代号(N56)和型号(A1522)也较低。成为iPhone 6 Plus的项目开始是有意义的,但我们可能要等好几年才能知道真正的内幕故事。 - Mike Akers

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。 - nsinvocation
1
确认我的iPhone 6S自称为iPhone8,1(虽然不一致!) - Peter Johnson
@PeterJohnson 感谢您确认这个不一致的ID方案。我已经更新了我的帖子。 - Cosmin
iPhone SE怎么样? - chents
找到了! iPhone8,4 @Cosmin 请更新你的回答。 - chents

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

很好的发现。然而,它并没有说明这些变体。 iPhone 5S有两个变体,但是profile.plist只显示了一个。 - Trung
完整的文件路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/CoreSimulator/Profiles/DeviceTypes/iPhone 6.simdevicetype/Contents/Resources/profile.plist查找modelIdentifier。 - Trung
那是一个设备的路径,还有其他的。 - quellish
是的,我知道。只是想向其他人澄清一下。 iPhone 6 Plus路径: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/De‌​veloper/Library/CoreSimulator/Profiles/DeviceTypes/iPhone 6 Plus.simdevicetype/Contents/Resources/profile.plist - Trung

6

2

我也看到了,但我们不知道他们这些信息的来源是什么。 - Mike Akers
实际上他们说:参考资料 主题演讲本身 Apple.com但我不确定这是否是经过验证的信息。 - A.S.

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接