在iOS 8之前的iOS版本中,要检查设备是否为iPhone 5/iPhone 5s,检查[UIScreen mainScreen].bounds.size.height==568.0就足够了。但在iOS 8.x以后的版本中,此检查可能会失败,因为边界现在取决于方向。我需要一个解决方案来识别iPhone 5s、6和6+设备,而无需检查iOS版本。
您可以检查
[UIScreen mainScreen].bounds.size.height == 568.0
和CCD_ 1来识别iPhone 6和6+
请注意,如果应用程序在"缩放"模式下工作,这将不起作用
在这种情况下,iPhone 6和6+将提供2.0
我能够使用以下宏检测设备。如果您想识别设备,以便对视图执行一些更新(如在方向更改时更新帧),这将非常有用。如果您确实想要设备型号/制造商,请使用此链接(ios iphone获取设备型号和制造商?)。
#define IS_IPHONE ((int)(MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)) == 480)
#define IS_IPHONE5 ((int)(MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)) == 568)
#define IS_IPHONE6 ((int)(MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)) == 667)
#define IS_IPHONE6PLUS ((int)(MAX([UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)) == 736)