zoukankan      html  css  js  c++  java
  • 【代码笔记】iOS-对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--

     

  • 相关阅读:
    [转]ubuntu的which、whereis、locate和find命令
    [转]理解SSL(https)中的对称加密与非对称加密
    SSL交互过程
    [转]程序开发基础学习二(C++ Google Style 命名规则)
    函数内动态分配内存
    sizeof和strlen
    Sublime Text 3 安装Package Control
    [转]使用Openssl的AES加密算法
    正则表达式
    论文书写常见问题与技巧
  • 原文地址:https://www.cnblogs.com/yang-guang-girl/p/5168030.html
Copyright © 2011-2022 走看看