如何检查设备是iPhone 5?

时间:2012-11-05 21:08:54

标签: iphone ios

如何检查iPhone 5上是否运行的应用程序然后执行某些操作?

6 个答案:

答案 0 :(得分:18)

#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )

然后在代码中:

if (IS_IPHONE_5) { 
   //is iphone 5
}

答案 1 :(得分:12)

您可能会关注窗口大小,而不是制作/模型,这样做:

CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
if (screenRect.size.height == 568)
{
 // this is an iPhone 5+
}

答案 2 :(得分:3)

您可以通过检查屏幕分辨率来执行此操作,也可以使用以下方法执行此操作:

#import "sys/utsname.h"

为您提供每个设备的标识符。请在此处查看我的回答:recognize device

答案 3 :(得分:3)

使用屏幕很好。

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
#define IS_IPHONE_5 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0f)

无需进行epsilon检查

答案 4 :(得分:0)

我们可以直接将此方法放在常量文件中,并且可以使用任何使用define

的地方
#define ISIPHONE5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )
#define HEIGHT (ISIPHONE5 ? 60:145)

或者可以使用

 #define IS_IPHONE5 (([[UIScreen mainScreen] bounds].size.height-568)?NO:YES)

我们也可以通过下面的

查看IOS
#define IOS_OLDER_THAN_6 ([[[UIDevice currentDevice] systemVersion] floatValue] < 6.0 )
#define IOS_NEWER_OR_EQUAL_TO_6 ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0 )

答案 5 :(得分:-11)

你可以查看你的设备的iOS版本,如果是6.0,那么它是iPhone 5 .....

这是代码..

double osVersion = [[[UIDevice currentDevice] systemVersion] doubleValue];
NSLog(@"OSVersion: %f", osVersion);
if (osVersion == 6.0) 
{
  //Paste your code here.....
}