[iOS]设备型号判断大全(包括iPhoneX)

本文详细介绍了如何在iOS开发中判断各种设备型号,包括iPhone X。内容涵盖所需的头文件和.m文件中的实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

头文件

#import <Foundation/Foundation.h>

typedef NS_ENUM(NSInteger,DeviceType) {
    
    Unknown = 0,
    Simulator,
    IPhone_1G,          //基本不用
    IPhone_3G,          //基本不用
    IPhone_3GS,         //基本不用
    IPhone_4,           //基本不用
    IPhone_4s,          //基本不用
    IPhone_5,
    IPhone_5C,
    IPhone_5S,
    IPhone_SE,
    IPhone_6,
    IPhone_6P,
    IPhone_6s,
    IPhone_6s_P,
    IPhone_7,
    IPhone_7P,
    IPhone_8,
    IPhone_8P,
    IPhone_X,
};

@interface JDDeviceUtils : NSObject

+ (DeviceType)deviceType;

@end

.m文件

#import "JDDeviceUtils.h"
#import <sys/utsname.h>

@implementation JDDeviceUtils

+ (DeviceType)deviceType{
   
  
       struct utsname systemInfo;
       uname(&systemInfo);
       NSString *platform = [NSString stringWithCString:systemInfo.machine
                                               encoding:NSUTF8StringEncoding];
       //simulator
       if ([platform isEqualToString:@"i386"])          return Simulator;
       if ([platform isEqualToString:@"x86_64"])        return Simulator;
       
       //iPhone
       if ([platform isEqualToString:@"iPhone1,1"])     return IPhone_1G;
       if ([platform isEqualToString:@"iPhone1,2"])     return IPhone_3G;
       if ([platform isEqualToString:@"iPhone2,1"])     return IPhone_3GS;
       if ([platform isEqualToString:@"iPhone3,1"])     return IPhone_4;
       if ([platform isEqualToString:@"iPhone3,2"])     return IPhone_4;
       if ([platform isEqualToString:@"iPhone4,1"])     return IPhone_4s;
       if ([platform isEqualToString:@"iPhone5,1"])     return IPhone_5;
       if ([platform isEqualToString:@"iPhone5,2"])     return IPhone_5;
       if ([platform isEqualToString:@"iPhone5,3"])     return IPhone_5C;
       if ([platform isEqualToString:@"iPhone5,4"])     return IPhone_5C;
       if ([platform isEqualToString:@"iPhone6,1"])     return IPhone_5S;
       if ([platform isEqualToString:@"iPhone6,2"])     return IPhone_5S;
       if ([platform isEqualToString:@"iPhone7,1"])     return IPhone_6P;
       if ([platform isEqualToString:@"iPhone7,2"])     return IPhone_6;
       if ([platform isEqualToString:@"iPhone8,1"])     return IPhone_6s;
       if ([platform isEqualToString:@"iPhone8,2"])     return IPhone_6s_P;
       if ([platform isEqualToString:@"iPhone8,4"])     return IPhone_SE;
       if ([platform isEqualToString:@"iPhone9,1"])     return IPhone_7;
       if ([platform isEqualToString:@"iPhone9,3"])     return IPhone_7;
       if ([platform isEqualToString:@"iPhone9,2"])     return IPhone_7P;
       if ([platform isEqualToString:@"iPhone9,4"])     return IPhone_7P;
       if ([platform isEqualToString:@"iPhone10,1"])    return IPhone_8;
       if ([platform isEqualToString:@"iPhone10,4"])    return IPhone_8;
       if ([platform isEqualToString:@"iPhone10,2"])    return IPhone_8P;
       if ([platform isEqualToString:@"iPhone10,5"])    return IPhone_8P;
       if ([platform isEqualToString:@"iPhone10,3"])    return IPhone_X;
       if ([platform isEqualToString:@"iPhone10,6"])    return IPhone_X;
   
       return Unknown;
   
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值