概述
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, DeviceType) {
unKnown = -1,
iPhone_2G = 0,
iPhone_3G,
iPhone_3GS,
iPhone_4,
iPhone_4S,
iPhone_5,
iPhone_5c,
iPhone_5s,
iPhone_6,
iPhone_6_Plus,
iPhone_6s,
iPhone_6s_Plus,
iPhone_SE,
iPhone_7,
iPhone_7_Plus,
iPhone_8,
iPhone_8_Plus,
iPhone_SE_2,
iPhone_X,
iPhone_XR,
iPhone_XS,
iPhone_XS_Max,
iPhone_11,
iPhone_11_Pro,
iPhone_11_Pro_Max,
iPhone_12_mini,
iPhone_12,
iPhone_12_Pro,
iPhone_12_Pro_Max,
iPhone_13_mini,
iPhone_13,
iPhone_13_Pro,
iPhone_13_Pro_Max
};
@interface JDDeviceTool : NSObject
+ (DeviceType)currentDevice;
+ (NSString *)currentDeviceStr;
+ (BOOL)isDevice:(DeviceType)deviceType;
+ (BOOL)isiPad;
@end
NS_ASSUME_NONNULL_END
#import "JDDeviceTool.h"
#import <sys/utsname.h>
@implementation JDDeviceTool
+ (DeviceType)currentDevice {
struct utsname systemInfo;
uname(&systemInfo);
NSString*phoneType = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding];
if([phoneType isEqualToString:@"iPhone1,1"]) return iPhone_2G;
if([phoneType isEqualToString:@"iPhone1,2"]) return iPhone_3G;
if([phoneType isEqualToString:@"iPhone2,1"]) return iPhone_3GS;
if([phoneType isEqualToString:@"iPhone3,1"]) return iPhone_4;
if([phoneType isEqualToString:@"iPhone3,2"]) return iPhone_4;
if([phoneType isEqualToString:@"iPhone3,3"]) return iPhone_4;
if([phoneType isEqualToString:@"iPhone4,1"]) return iPhone_4S;
if([phoneType isEqualToString:@"iPhone5,1"]) return iPhone_5;
if([phoneType isEqualToString:@"iPhone5,2"]) return iPhone_5;
if([phoneType isEqualToString:@"iPhone5,3"]) return iPhone_5c;
if([phoneType isEqualToString:@"iPhone5,4"]) return iPhone_5c;
if([phoneType isEqualToString:@"iPhone6,1"]) return iPhone_5s;
if([phoneType isEqualToString:@"iPhone6,2"]) return iPhone_5s;
if([phoneType isEqualToString:@"iPhone7,1"]) return iPhone_6_Plus;
if([phoneType isEqualToString:@"iPhone7,2"]) return iPhone_6;
if([phoneType isEqualToString:@"iPhone8,1"]) return iPhone_6s;
if([phoneType isEqualToString:@"iPhone8,2"]) return iPhone_6s_Plus;
if([phoneType isEqualToString:@"iPhone8,4"]) return iPhone_SE;
if([phoneType isEqualToString:@"iPhone9,1"]) return iPhone_7;
if([phoneType isEqualToString:@"iPhone9,2"]) return iPhone_7_Plus;
if([phoneType isEqualToString:@"iPhone10,1"]) return iPhone_8;
if([phoneType isEqualToString:@"iPhone10,4"]) return iPhone_8;
if([phoneType isEqualToString:@"iPhone10,2"]) return iPhone_8_Plus;
if([phoneType isEqualToString:@"iPhone10,5"]) return iPhone_8_Plus;
if([phoneType isEqualToString:@"iPhone10,3"]) return iPhone_X;
if([phoneType isEqualToString:@"iPhone10,6"]) return iPhone_X;
if([phoneType isEqualToString:@"iPhone11,8"]) return iPhone_XR;
if([phoneType isEqualToString:@"iPhone11,2"]) return iPhone_XS;
if([phoneType isEqualToString:@"iPhone11,4"]) return iPhone_XS_Max;
if([phoneType isEqualToString:@"iPhone11,6"]) return iPhone_XS_Max;
if([phoneType isEqualToString:@"iPhone12,1"]) return iPhone_11;
if([phoneType isEqualToString:@"iPhone12,3"]) return iPhone_11_Pro;
if([phoneType isEqualToString:@"iPhone12,5"]) return iPhone_11_Pro_Max;
if([phoneType isEqualToString:@"iPhone12,8"]) return iPhone_SE_2;
if([phoneType isEqualToString:@"iPhone13,1"]) return iPhone_12_mini;
if([phoneType isEqualToString:@"iPhone13,2"]) return iPhone_12;
if([phoneType isEqualToString:@"iPhone13,3"]) return iPhone_12_Pro;
if([phoneType isEqualToString:@"iPhone13,4"]) return iPhone_12_Pro_Max;
if([phoneType isEqualToString:@"iPhone14,4"]) return iPhone_13_mini;
if([phoneType isEqualToString:@"iPhone14,5"]) return iPhone_13;
if([phoneType isEqualToString:@"iPhone14,2"]) return iPhone_13_Pro;
if([phoneType isEqualToString:@"iPhone14,3"]) return iPhone_13_Pro_Max;
return unKnown;
}
+ (NSString *)currentDeviceStr {
struct utsname systemInfo;
uname(&systemInfo);
NSString*phoneType = [NSString stringWithCString: systemInfo.machine encoding:NSASCIIStringEncoding];
if([phoneType isEqualToString:@"iPhone1,1"]) return @"iPhone_2G";
if([phoneType isEqualToString:@"iPhone1,2"]) return @"iPhone_3G";
if([phoneType isEqualToString:@"iPhone2,1"]) return @"iPhone_3GS";
if([phoneType isEqualToString:@"iPhone3,1"]) return @"iPhone_4";
if([phoneType isEqualToString:@"iPhone3,2"]) return @"iPhone_4";
if([phoneType isEqualToString:@"iPhone3,3"]) return @"iPhone_4";
if([phoneType isEqualToString:@"iPhone4,1"]) return @"iPhone_4S";
if([phoneType isEqualToString:@"iPhone5,1"]) return @"iPhone_5";
if([phoneType isEqualToString:@"iPhone5,2"]) return @"iPhone_5";
if([phoneType isEqualToString:@"iPhone5,3"]) return @"iPhone_5c";
if([phoneType isEqualToString:@"iPhone5,4"]) return @"iPhone_5c";
if([phoneType isEqualToString:@"iPhone6,1"]) return @"iPhone_5s";
if([phoneType isEqualToString:@"iPhone6,2"]) return @"iPhone_5s";
if([phoneType isEqualToString:@"iPhone7,1"]) return @"iPhone_6_Plus";
if([phoneType isEqualToString:@"iPhone7,2"]) return @"iPhone_6";
if([phoneType isEqualToString:@"iPhone8,1"]) return @"iPhone_6s";
if([phoneType isEqualToString:@"iPhone8,2"]) return @"iPhone_6s_Plus";
if([phoneType isEqualToString:@"iPhone8,4"]) return @"iPhone_SE";
if([phoneType isEqualToString:@"iPhone9,1"]) return @"iPhone_7";
if([phoneType isEqualToString:@"iPhone9,2"]) return @"iPhone_7_Plus";
if([phoneType isEqualToString:@"iPhone10,1"]) return @"iPhone_8";
if([phoneType isEqualToString:@"iPhone10,4"]) return @"iPhone_8";
if([phoneType isEqualToString:@"iPhone10,2"]) return @"iPhone_8_Plus";
if([phoneType isEqualToString:@"iPhone10,5"]) return @"iPhone_8_Plus";
if([phoneType isEqualToString:@"iPhone10,3"]) return @"iPhone_X";
if([phoneType isEqualToString:@"iPhone10,6"]) return @"iPhone_X";
if([phoneType isEqualToString:@"iPhone11,8"]) return @"iPhone_XR";
if([phoneType isEqualToString:@"iPhone11,2"]) return @"iPhone_XS";
if([phoneType isEqualToString:@"iPhone11,4"]) return @"iPhone_XS_Max";
if([phoneType isEqualToString:@"iPhone11,6"]) return @"iPhone_XS_Max";
if([phoneType isEqualToString:@"iPhone12,1"]) return @"iPhone_11";
if([phoneType isEqualToString:@"iPhone12,3"]) return @"iPhone_11_Pro";
if([phoneType isEqualToString:@"iPhone12,5"]) return @"iPhone_11_Pro_Max";
if([phoneType isEqualToString:@"iPhone12,8"]) return @"iPhone_SE_2";
if([phoneType isEqualToString:@"iPhone13,1"]) return @"iPhone_12_mini";
if([phoneType isEqualToString:@"iPhone13,2"]) return @"iPhone_12";
if([phoneType isEqualToString:@"iPhone13,3"]) return @"iPhone_12_Pro";
if([phoneType isEqualToString:@"iPhone13,4"]) return @"iPhone_12_Pro_Max";
if([phoneType isEqualToString:@"iPhone14,4"]) return @"iPhone_13_mini";
if([phoneType isEqualToString:@"iPhone14,5"]) return @"iPhone_13";
if([phoneType isEqualToString:@"iPhone14,2"]) return @"iPhone_13_Pro";
if([phoneType isEqualToString:@"iPhone14,3"]) return @"iPhone_13_Pro_Max";
return phoneType;
}
+ (BOOL)isDevice:(DeviceType)deviceType {
if (deviceType == [JDDeviceTool currentDevice]) {
return YES;
}
return NO;
}
+ (BOOL)isiPad {
NSString *deviceType = [UIDevice currentDevice].model;
if ([deviceType isEqualToString:@"iPad"]) {
return YES;
}
return NO;
}
@end
最后
以上就是活泼台灯为你收集整理的iOS 苹果手机各种机型与型号对照,代码的全部内容,希望文章能够帮你解决iOS 苹果手机各种机型与型号对照,代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复