【代碼筆記】對iphone手機進行判斷的一些函數,筆記iphone
代碼:
#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--