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



原文地址:https://www.cnblogs.com/zmloveworld/p/5558478.html