ios iPhone 5 / 5c / 5s / iPod touch 5 的设备代码(平台字符串)是什么?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12505414/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What's the device code (platform string) for iPhone 5 / 5c / 5s / iPod touch 5?
提问by northtree
For example, is it "iPhone5,1" or "iPhone5,2" for iPhone 5? And what's the difference?
例如,iPhone 5 是“iPhone5,1”还是“iPhone5,2”?和有什么区别?
If anyone has the iPhone 5, please help by running the following code and showing your result. Thank you.
如果有人拥有 iPhone 5,请通过运行以下代码并显示结果来提供帮助。谢谢你。
Related Link: https://stackoverflow.com/a/3950748/482899
回答by Dorian Roy
You can find a list of all iOS device identifiers here (including iPhone 5 models and iPad mini): http://theiphonewiki.com/wiki/index.php?title=Models
您可以在此处找到所有 iOS 设备标识符的列表(包括 iPhone 5 型号和 iPad mini):http: //theiphonewiki.com/wiki/index.php?title=Models
The identifiers of the latest models are:
最新型号的标识符为:
iPhone 5: iPhone5,1 and iPhone5,2
iPhone 5:iPhone5,1 和 iPhone5,2
iPhone 5C: iPhone5,3 and iPhone5,4
iPhone 5C:iPhone5,3 和 iPhone5,4
iPhone 5S: iPhone6,1 and iPhone6,2
iPhone 5S:iPhone6,1 和 iPhone6,2
iPhone 6: iPhone7,2
iPhone 6:iPhone7,2
iPhone 6 Plus: iPhone7,1
iPhone 6 Plus:iPhone7,1
iPhone 6S: iPhone8,1
iPhone 6S: iPhone8,1
iPhone 6S Plus: iPhone8,2
iPhone 6S Plus:iPhone8,2
iPhone SE: iPhone8,4
iPhone SE:iPhone8,4
iPhone 7: iPhone9,1 and iPhone9,3
iPhone 7:iPhone9,1 和 iPhone9,3
iPhone 7 Plus: iPhone9,2 and iPhone9,4
iPhone 7 Plus:iPhone9,2 和 iPhone9,4
iPhone 8: iPhone10,1 and iPhone10,4
iPhone 8:iPhone10,1 和 iPhone10,4
iPhone 8 Plus: iPhone10,2 and iPhone10,5
iPhone 8 Plus:iPhone10,2 和 iPhone10,5
iPhone X: iPhone10,3 and iPhone10,6
iPhone X:iPhone10,3 和 iPhone10,6
EDIT: I also made an updated version of the popular iOS Support Matrixincluding all models up to iPhone X.
编辑:我还制作了流行的 iOS 支持矩阵的更新版本,包括 iPhone X 之前的所有型号。
回答by Corey
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 (CDMA)";
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+CDMA)";
if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (UK+Europe+Asia+China)";
if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (UK+Europe+Asia+China)";
if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus";
if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6";
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:@"iPod7,1"]) return @"iPod Touch (6 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 (GSM+CDMA)";
if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2 (WiFi)";
if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2 (GSM+CDMA)";
if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2 (China)";
if ([platform isEqualToString:@"iPad4,7"]) return @"iPad Mini 3 (WiFi)";
if ([platform isEqualToString:@"iPad4,8"]) return @"iPad Mini 3 (GSM+CDMA)";
if ([platform isEqualToString:@"iPad4,9"]) return @"iPad Mini 3 (China)";
if ([platform isEqualToString:@"iPad5,3"]) return @"iPad Air 2 (WiFi)";
if ([platform isEqualToString:@"iPad5,4"]) return @"iPad Air 2";
if ([platform isEqualToString:@"i386"]) return @"Simulator";
if ([platform isEqualToString:@"x86_64"]) return @"Simulator";
return platform;
回答by vatti
This method covers all devices in market:
此方法涵盖市场上所有设备:
- (NSString *) platform{
int mib[2];
size_t len;
char *machine;
mib[0] = CTL_HW;
mib[1] = HW_MACHINE;
sysctl(mib, 2, NULL, &len, NULL, 0);
machine = malloc(len);
sysctl(mib, 2, machine, &len, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding];
free(machine);
return platform; }
- (NSString *) platformString{
NSString *platform = [self platform];
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:@"iPhone5,1"]) return @"iPhone 5 (GSM)";
if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (UK+Europe+Asia+China)";
if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (GSM+CDMA)";
if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (UK+Europe+Asia+China)";
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:@"iPhone9,1"]) return @"iPhone 7";
if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone 7 Plus";
if ([platform isEqualToString:@"iPhone9,3"]) return @"iPhone 7";
if ([platform isEqualToString:@"iPhone9,4"]) return @"iPhone 7 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:@"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";
return platform; }
回答by realkstrawn93
Yup, "iPhone5,1" is the GSM iPhone 5, "iPhone5,2" is the CDMA iPhone 5, "iPhone5,3" is the GSM iPhone 5C, "iPhone5,4" is the CDMA iPhone 5C, "iPhone6,1" is the GSM iPhone 5S, and "iPhone6,2" is the CDMA iPhone 5S. Does that answer your question?
是的,“iPhone5,1”是GSM iPhone 5,“iPhone5,2”是CDMA iPhone 5,“iPhone5,3”是GSM iPhone 5C,“iPhone5,4”是CDMA iPhone 5C,“iPhone6,1” ”是GSM iPhone 5S,“iPhone6,2”是CDMA iPhone 5S。这是否回答你的问题?
回答by boxel
The Verizon iPhone 5 returns "iPhone5,2". The GSM phone returns "iPhone5,1".
Verizon iPhone 5 返回“iPhone5,2”。GSM 手机返回“iPhone5,1”。
回答by louielouie
It looks like either iPhone5,1 or iPhone5,2 depending on the model of iPhone 5.
根据 iPhone 5 的型号,它看起来像 iPhone5,1 或 iPhone5,2。
From @marcoarment, who is a well known iOS Developer:
来自知名 iOS 开发者 @marcoarment:
iPhone5,1: model A1428, AT&T/Canada
iPhone5,2: model A1429, all others
A1429 may have two modes, but I don't see any iPhone5,3 records.
iPhone5,1:型号 A1428,AT&T/加拿大
iPhone5,2:型号 A1429,所有其他型号
A1429 可能有两种模式,但我没有看到任何 iPhone5,3 记录。
Source: https://twitter.com/marcoarment/status/249249183029161984
来源:https: //twitter.com/marcoarment/status/249249183029161984
回答by Sebyddd
回答by eric long
[Update] platform name of iphone8 is iPhone10,1
[更新] iphone8 的平台名称是 iPhone10,1
[Update] platform name of iphoneX is iPhone10,3
[更新] iphoneX 的平台名称是 iPhone10,3
回答by Hiren
check out your answer over here How to detect iPhone 5 (widescreen devices)?. till now i have not found any answer until some one developer buy iPhone 5 and post some useful information
在此处查看您的答案如何检测 iPhone 5(宽屏设备)?. 直到现在我还没有找到任何答案,直到某个开发人员购买了 iPhone 5 并发布了一些有用的信息