如何以编程方式区分iPad和iPhone?

时间:2010-09-24 05:22:24

标签: objective-c

  

可能重复:
  Best way to programmatically detect iPad/iPhone hardware

如何以编程方式区分iPad和iPhone?

1 个答案:

答案 0 :(得分:2)

对我而言,问题似乎是重复的,但我会尝试简要介绍设备类型和iOS版本检测的所有内容。

根据您要接收的信息,有几种方法,无论是设备类型(iPhone,iPod还是iPad)还是iOS版本。


以下是检测设备类型的代码(在模拟器的情况下返回i386):

#import <sys/utsname.h>

+ (NSString *)getDeviceType {
  struct utsname systemInfo;
  return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8Encoding];
}


这是iOS版本检测器:

+ (float)getOSVersion {
  return [[[UIDevice currentDevice] systemVersion] floatValue];
}


和编译器的OS检测器:

#ifdef __IPHONE_4_0
  //this part of code will be running on devices with os iOS4+
#else
  //this part of code will be running on devices with os _UNDER_ iOS4+
#endif


此外,没有人支持我们使用

#ifdef __IPHONE_OS_VERSION_MIN_REQUIRED > 40000
   //this part of code will be running on devices with os iOS4+
#endif