iOS判断机型

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

typedef NS_OPTIONS(NSInteger,DeviceType) {
    iPhoneFivePointFiveInch       = 1 << 0,
    iPhoneFourPointSevenInch      = 1 << 1,
    iPhoneFourInch                = 1 << 2,
    iPhoneThreePointFiveInch      = 1 << 3,
    iPadPro                       = 1 << 4,
    iPadOhter                     = 1 << 5
};

@interface CheckDevice : NSObject

+ (DeviceType)getCurrentDevice;

@end
#import "CheckDevice.h"
#import "sys/utsname.h"

@implementation CheckDevice

+ (DeviceType)getCurrentDevice {
    //机型的尺寸
    //iPadPro和iPhone6公用{375, 667},iPad其他机型和iPhone4s公用{320, 480}
    NSArray *iPhoneSize = @[@"{414, 736}", @"{375, 667}", @"{320, 568}", @"{320, 480}"];
    //判断屏幕尺寸
    NSString *type = NSStringFromCGSize([UIScreen mainScreen].bounds.size);
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];

    if ([platform hasPrefix:@"iPhone"]) {
        return [iPhoneSize indexOfObject:type];
    }else if([platform hasPrefix:@"iPad"]) {//iPad
        if ([iPhoneSize indexOfObject:type] == iPhoneFourPointSevenInch)
            return iPadPro;
        else
            return iPadOhter;
    }else//模拟器
        return [iPhoneSize indexOfObject:type];
}

@end
时间: 2024-12-15 22:18:56

iOS判断机型的相关文章

iOS判断判断设备类型信息

一.iOS判断判断设备机型 http://www.jianshu.com/p/591765b70ca5 1.导入 #import <sys/utsname.h> 2.代码 struct utsname systemInfo2; uname(&systemInfo2); NSString *platform = [NSString stringWithCString:systemInfo2.machine encoding:NSASCIIStringEncoding];

iOS 判断是push还是present

iOS 判断是push还是present下面这种方法判断成功了  if (self.presentingViewController)   {      [weakSelf dismissViewControllerAnimated:YES completion:nil];    }    else {       [weakSelf.navigationController popViewControllerAnimated:YES];      }

iOS判断为空或者只为空格

本文转载至 :http://www.cnblogs.com/superhappy/archive/2012/11/08/2761403.html 经常有需求 要判断不能为空,后台老是鄙视不做非空判断的前端 ,木办法 只能写一个. 第一种想法:我不就是判断 是不是nil就可以了么.结果发现太天真,用户可以输入空格. 对于这种蛋疼的用户,只能采取蛋疼的方法: -(Bool) isEmpty:(NSString *) str { if (!str) { return true; } else { //

iOS 判断字符串中含有某个字符串rangeOfString

//_roaldSearchText if([roadTitleLab.text rangeOfString:@"格力"].location !=NSNotFound) NSLog(@"yes"); else NSLog(@"no"); iOS 判断字符串中含有某个字符串rangeOfString,布布扣,bubuko.com

ios 判断字符串为空和只为空格解决办法

ios 判断字符串为空和只为空格解决办法- (BOOL)isBlankString:(NSString *)string{ if (string == nil) { return YES; } if (string == NULL) { return YES; } if ([string isKindOfClass:[NSNull class]]) { return YES; } if ([[string stringByTrimmingCharactersInSet:[NSCharacterS

iOS 判断数组是否为空

有人说可以用([array count]==0 )来判断是否为空,都是坑,如果array为空的话,执行count就会直接报错,程序崩溃退出. 正确判断NSArray是否为空的方法:用 (!array) if(array != nil && ![array isKindOfClass:[NSNullclass]] && array.count !=0){ //执行array不为空时的操作 } 这样才是iOS判断数组是否为空的准确方式.

ios 判断邮箱是否正确

ios 判断邮箱是否正确     - (BOOL)isValidateEmail:(NSString *)Email { NSString *emailCheck = @"[A-Z0-9a-z._%+-][email protected][A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",emailCh

IOS判断是否有效银行卡号

IOS判断是否有效银行卡号 by  伍雪颖 + (BOOL) isValidCreditNumber:(NSString*)value { BOOL result = NO; NSInteger length = [value length]; if (length >= 13) { result = [WTCreditCard isValidNumber:value]; if (result) { NSInteger twoDigitBeginValue = [[value substring

iOS 判断View 是否是第一次显示

在实现某些需求的时候会有这样的情况,页面第一次加载显示的时候需要某些操作,而以后就不需要重复执行了, 一般这种处理都放在- (void)viewDidLoad或- (id)init因为一般这两个函数除了在第一次显示或初始化以后就不会走了. 如果反过来呢页面第一次加载显示的时候不需要某些操作,但是如果是非第一次就需要做些判断,这个时候就需要做一些处理. 我选择了用计数来控制通过-(void)viewDidAppear:(BOOL)animated来控制 做法就是全局一个int isfirst 在-