代码:
#import "RootViewController.h"//为判断手机的型号 -(NSString*)deviceString添加头文件#import "sys/utsname.h"@interface RootViewController ()@end@implementation RootViewController- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{ self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; if (self) { // Custom initialization } return self;}- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view. NSLog(@"----systemVersion---%@",[self systemVersion]); if ([self isIphone5]) { NSLog(@"----is Iphone5---"); }else{ NSLog(@"----not a Iphone5---"); } NSLog(@"----deviceString---%@",[self deviceString]); NSLog(@"---getDeviceModel---%@--",[self getDeviceModel]);}#pragma -mark -系统版本判断(也就是iOS7.0,iOS6.0的判断) 输出:7.1-(NSString*)systemVersion{ return [[UIDevice currentDevice] systemVersion];}#pragma -mark -判断手机是否为iphone5(也就是在iphon4,iphone5做判断)- (BOOL) isIphone5{ if ([UIScreen instancesRespondToSelector:@selector(currentMode)]) { return CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size); } else { return NO; }}#pragma -mark -判断手机型号简写版// 需要#import "sys/utsname.h"-(NSString *)getDeviceModel{ struct utsname u; uname(&u); NSString *modelVersion = [NSString stringWithFormat:@"%s", u.machine]; return modelVersion;}#pragma -mark -判断手机的型号详细版//判断手机的型号// 需要#import "sys/utsname.h"- (NSString*)deviceString{ struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 1G"; if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"; if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; if ([deviceString isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; if ([deviceString isEqualToString:@"iPhone5,2"]) return @"iPhone 5"; if ([deviceString isEqualToString:@"iPhone3,2"]) return @"Verizon iPhone 4"; if ([deviceString isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([deviceString isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([deviceString isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([deviceString isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([deviceString isEqualToString:@"iPad1,1"]) return @"iPad"; if ([deviceString isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"; if ([deviceString isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)"; if ([deviceString isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"; if ([deviceString isEqualToString:@"i386"]) return @"Simulator"; if ([deviceString isEqualToString:@"x86_64"]) return @"Simulator"; NSLog(@"NOTE: Unknown device type: %@", deviceString); return deviceString;}- (void)didReceiveMemoryWarning{ [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}
输出:
2015-10-15 14:09:05.486 对iphone手机进行判断的一些函数[3478:155689] ----systemVersion---8.12015-10-15 14:09:05.487 对iphone手机进行判断的一些函数[3478:155689] ----is Iphone5---2015-10-15 14:09:05.487 对iphone手机进行判断的一些函数[3478:155689] ----deviceString---Simulator2015-10-15 14:09:05.487 对iphone手机进行判断的一些函数[3478:155689] ---getDeviceModel---x86_64--