#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