代碼: #import "RootViewController.h" //為判斷手機的型號 -(NSString*)deviceString添加頭文件 #import "sys/utsname.h" @interface RootViewController () @end @implementat
代碼:
#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.1
2015-10-15 14:09:05.487 對iphone手機進行判斷的一些函數[3478:155689] ----is Iphone5---
2015-10-15 14:09:05.487 對iphone手機進行判斷的一些函數[3478:155689] ----deviceString---Simulator
2015-10-15 14:09:05.487 對iphone手機進行判斷的一些函數[3478:155689] ---getDeviceModel---x86_64--