UIDeviceHardware 最新的Ios设备配置表

转载自:https://gist.github.com/weekwood/4265890

UIDeviceHardware.h
Objective-C
12345678910111213
         
         
         
         
//
// UIDeviceHardware.h
//
// Used to determine EXACT version of device software is running on.
 
#import <Foundation/Foundation.h>
 
@interface UIDeviceHardware : NSObject
 
- ( NSString * ) platform ;
- ( NSString * ) platformString ;
 
@end
UIDeviceHardware.m
Objective-C
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
         
         
         
         
//
// UIDeviceHardware.m
//
// Used to determine EXACT version of device software is running on.
 
#import "UIDeviceHardware.h"
#include <sys/types.h>
#include <sys/sysctl.h>
 
@implementation UIDeviceHardware
 
- ( NSString * ) platform {
size_t size ;
sysctlbyname ( "hw.machine" , NULL , & size , NULL , 0 );
char * machine = malloc ( size );
sysctlbyname ( "hw.machine" , machine , & size , NULL , 0 );
NSString * platform = [ NSString stringWithUTF8String : machine ];
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)" ;
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 : @"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 : @"iPad2,1" ]) return @"iPad 2 (WiFi)" ;
if ([ platform isEqualToString : @"iPad2,2" ]) return @"iPad 2 (GSM)" ;
if ([ platform isEqualToString : @"iPad2,3" ]) return @"iPad 2 (CDMA)" ;
if ([ platform isEqualToString : @"iPad2,4" ]) return @"iPad 2 (WiFi)" ;
if ([ platform isEqualToString : @"iPad2,5" ]) return @"iPad Mini (WiFi)" ;
if ([ platform isEqualToString : @"iPad2,6" ]) return @"iPad Mini (GSM)" ;
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 (GSM)" ;
if ([ platform isEqualToString : @"iPad3,4" ]) return @"iPad 4 (WiFi)" ;
if ([ platform isEqualToString : @"iPad3,5" ]) return @"iPad 4 (GSM)" ;
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 ;
}
 
@end
usage.txt
123
         
         
         
         
UIDeviceHardware *h=[[UIDeviceHardware alloc] init];
[self setDeviceModel:[h platformString]];
[h release];

你可能感兴趣的:(UIDeviceHardware 最新的Ios设备配置表)