Skip to content

rudders2013/HardwareType

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

如何判断设备是否为iPhone X,iOS获取设备型号的方法。

在开发过程中有时需要获取设备具体型号然后进行不同的设配,那么应该如何判断设备的型号?如何获取设置的型号呢?

在设配iPhone X时,因为iPhone X中有刘海儿和Home indicator, 当时在判断是否为iPhone X时是根据其宽高进行判断的。如下:

//iPhone X
#define iPhoneX     (kSCREEN_WIDTH == 375.f && kSCREEN_HEIGHT == 812.f)

最后修改为:

#define KISIphoneX (CGSizeEqualToSize(CGSizeMake(375.f, 812.f), [UIScreen mainScreen].bounds.size) || CGSizeEqualToSize(CGSizeMake(812.f, 375.f), [UIScreen mainScreen].bounds.size))

其中kSCREEN_WIDTHkSCREEN_HEIGHT分别为:

#define kSCREEN_WIDTH          ([UIScreen mainScreen].bounds.size.width)
#define kSCREEN_HEIGHT         ([UIScreen mainScreen].bounds.size.height)

当然也可以使用 CGSizeEqualToSize(CGSizeMake(375.f, 812.f), [UIScreen mainScreen].bounds.size)进行判断。但这种方法只能判断iPhone X,而像iPhone 6 plusiPhone 6s PlusiPhone 7 Plus,iPhone 8 Plus其宽高都分别为414.f736.f

/*
 iPhone 6          w:375  h:667
 iPhone 6 Plus     w:414  h:736
 iPhone 6s         w:375  h:667
 iPhone 6s Plus    w:414  h:736
 iPhone 7          w:375  h:667
 iPhone 7 Plus     w:414  h:736
 iPhone 8          w:375  h:667
 iPhone 8 Plus     w:414  h:736
 iPhone SE         w:320  h:568
 iPhone X          w:375  h:812
 */

所以我们要获取具体的设备型号的时候可以使用sys/utsname.h中的systemInfomachine进行判断。

.m中的代码

代码地址:HardwareType

博客地址:如何判断设备是否为iPhone X,iOS获取设备型号的方法。


参考资料:

About

iOS获取设备型号的方法

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 100.0%