检测 iPhone 设备类型

Posted

技术标签:

【中文标题】检测 iPhone 设备类型【英文标题】:Detecting The iPhone Device Type 【发布时间】:2013-07-09 00:16:01 【问题描述】:

我在手机上部署应用时遇到问题。我目前正在 3gs 上构建应用程序,当显示视图时,显示的是 iPhone 5 布局,这使得一些对象部分显示在屏幕之外。

有没有一种方法可以检测 iPhone 设备,并让它根据启动应用程序的设备显示正确的图形?如果是这样,任何建议将不胜感激。

提前原谅我,我对 Xcode 有点陌生。

提前致谢。

【问题讨论】:

【参考方案1】:

您可以使用[UIDevice currentDevice] 类方法。这将为您提供有关设备的信息,例如systemNamesystemVersionmodel 等。

如果您需要获取屏幕尺寸,可以使用[UIScreen mainScreen] 类方法。有了它,您可以获得applicationFrame 或屏幕bounds

希望这会有所帮助!

【讨论】:

【参考方案2】:

这是一种识别设备类型的简单方法。

#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
#define IS_ios6_AND_UP ([[UIDevice currentDevice].systemVersion floatValue] >= 6.0)
#define IS_RETINA ([[UIScreen mainScreen] respondsToSelector:@selector(displayLinkWithTarget:selector:)] && ([UIScreen mainScreen].scale == 2.0))

【讨论】:

以上是关于检测 iPhone 设备类型的主要内容,如果未能解决你的问题,请参考以下文章

iPhone - 检测附近的蓝牙设备

iPhone检测蓝牙设备

如何检测设备(iphone)是不是有物理主页按钮?

如何检测 iPhone 6 设备的运动? (确定 iPhone 设备是不是移动 - x,y,z- 上的最小可能运动)

iPhone 休眠时无法检测到 Beacon 设备。(进入后台)

检测设备型号(iPhone/iPod Touch)的正确方法?