可能重复:
Best way to programmatically detect iPad/iPhone hardware
如何以编程方式区分iPad和iPhone?
答案 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