【代码笔记】对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.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--

 

你可能感兴趣的:(【代码笔记】对iphone手机进行判断的一些函数)