在iOS 8之前的iOS版本中,要检查设备是否为iPhone 5 / iPhone 5s,检查[UIScreen mainScreen] .bounds.size.height == 568.0就足够了。但是在iOS 8.x以后,此检查可能会失败,因为边界现在取决于方向。我需要一个解决方案来识别iPhone 5s,6和6+设备,而无需检查iOS版本。
答案 0 :(得分:1)
您可以查看是否
[UIScreen mainScreen].bounds.size.height == 568.0
和[UIScreen mainScreen].scale
识别iPhone 6和6+
请注意,如果应用程序正在处理"缩放"这将无效。模式。
在这种情况下,iPhone 6和6+将提供比例2.0
答案 1 :(得分:0)
我能够使用以下宏检测设备。如果要识别设备,对视图执行某些更新(例如更新方向更改框架),这将非常有用。如果您确实需要设备型号/品牌,请改用此链接(ios iphone get device model and make?)。
#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)