由于iOS设备分类众多,功能也有所差异。
大盖分为:
不能打电话,只可以通过wifi上网的iPod,
不能打电话,可以通过wifi上网,部分可以支持3g/4g上网的iPad
以及功能最强大的iPhone。当然iPhone也分为512内存单核,512内存双核 以及1G内存的多种设备类型。
因此有时候需要对一些设备进行分类优化,以下代码为iOS设备分类区别代码.
- - (NSString *) platformString{
- size_t size;
- sysctlbyname("hw.machine", NULL, &size, NULL, 0);
- charchar *machine = 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 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:@"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"(WCDMA);
- 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:@"i386"]) return @"Simulator";
- if ([platform isEqualToString:@"x86_64"]) return @"Simulator";
- return platform;