[Code Note] Some functions used to judge the iphone, take note of the iphone

Source: Internet
Author: User

[Code Note] Some functions used to judge the iphone, take note of the iphone

Code:

#import "RootViewController.h"

// To determine the model of the phone-(NSString *) deviceString add a header file
#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-System version judgment (that is, iOS7.0, iOS6.0 judgment) Output: 7.1
-(NSString *) systemVersion {
    return [[UIDevice currentDevice] systemVersion];
}
#pragma -mark-judge whether the phone is iphone5 (that is, judge on iphon4, iphone5)
-(BOOL) isIphone5
{
    if ([UIScreen instancesRespondToSelector: @selector (currentMode)]) {
        return CGSizeEqualToSize (CGSizeMake (640, 1136), [[UIScreen mainScreen] currentMode] .size);
    }
    else
    {
        return NO;
    }
}

#pragma -mark-determine the short version of the phone model
// Requires #import "sys / utsname.h"
-(NSString *) getDeviceModel {
    struct utsname u;
    uname (& u);
    NSString * modelVersion = [NSString stringWithFormat: @ "% s", u.machine];
    return modelVersion;
}

#pragma -mark-Determine the detailed version of the phone model
// Determine the model of the phone
// Requires #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.
}
 

Output:

2015-10-15 14: 09: 05.486 Some functions for judging iphone phones [3478: 155689] ---- systemVersion --- 8.1
2015-10-15 14: 09: 05.487 Some functions for judging iphone phones [3478: 155689] ---- is Iphone5 ---
2015-10-15 14: 09: 05.487 Some functions for judging iphone phones [3478: 155689] ---- deviceString --- Simulator
2015-10-15 14: 09: 05.487 Some functions for judging iphone phones [3478: 155689] --- getDeviceModel --- x86_64--

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.