获取iphone,ipod,ipad,ipadmini 硬件类型名称
#import <UIKit/UIKit.h>
@interface UIDevice (DeviceName)
/*
* 返回值:设备类型名
*/
+(NSString *)deviceName;
@end
#import "UIDevice+Util.h"
#include <sys/socket.h>
#include <sys/sysctl.h>
@implementation UIDevice (DeviceName)
+(NSString*)getDeviceVersion
{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = (char*)malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
free(machine);
return platform;
}
+(NSString *)deviceName{
NSString *platform = [UIDevice getDeviceVersion];
if([platform rangeOfString:@"iPod4"].location !=NSNotFound){
platform =@"iPhone4,1";
}else if([platform rangeOfString:@"iPod5"].location !=NSNotFound){
platform = @"iPhone5,1";
}
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
@"iPhone2",@"iPhone1,1",
@"iPhone3",@"iPhone1,2",
@"iPhone3",@"iPhone2,1",
@"iPhone4",@"iPhone3,1",
@"iPhone4",@"iPhone3,2",
@"iPhone4",@"iPhone3,3",
@"iPhone4",@"iPhone4,1",
@"iPhone5",@"iPhone5,1",
@"iPhone5",@"iPhone5,2",
@"iPhone5",@"iPhone5,3",
@"iPhone5",@"iPhone5,4",
@"iPhone5",@"iPhone6,1",
@"iPhone5",@"iPhone6,2",
@"iPhone6Plus",@"iPhone7,1",
@"iPhone6",@"iPhone7,2",
@"iPhone6sPlus",@"iPhone8,2",
@"iPhone6s",@"iPhone8,1",
@"iPhoneSE",@"iPhone8,4",
@"iPhone7",@"iPhone9,1",
@"iPhone7Plus",@"iPhone9,2",
@"iPad1G",@"iPad1,1",
@"iPad2",@"iPad2,1",
@"iPad2",@"iPad2,2",
@"iPad2",@"iPad2,3",
@"iPad2",@"iPad2,4",
@"iPadMini1G",@"Pad2,5",
@"iPadMini1G",@"Pad2,6",
@"iPadMini1G",@"Pad2,7",
@"iPad3",@"iPad3,1",
@"iPad3",@"iPad3,2",
@"iPad3",@"iPad3,3",
@"iPad4",@"iPad3,4",
@"iPad4",@"iPad3,5",
@"iPad4",@"iPad3,6",
@"iPadAir",@"iPad4,1",
@"iPadAir",@"iPad4,2",
@"iPadAir",@"iPad4,3",
@"iPadMini2G",@"iPad4,4",
@"iPadMini2G",@"iPad4,5",
@"iPadMini2G",@"iPad4,6",
@"iPhoneSimulator",@"i386",
@"iPhoneSimulator",@"x86_64",nil];
return [dict objectForKey:platform];
}
@end