我是靠谱客的博主 活泼台灯,最近开发中收集的这篇文章主要介绍iOS 苹果手机各种机型与型号对照,代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

#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 苹果手机各种机型与型号对照,代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部