ios判断系统版本号
1.直接获取系统版本号
NSString *version= [UIDevice currentDevice].systemVersion;
if(version.doubleValue >=9.0) {
// 针对 9.0 以上的iOS系统进行处理
}else{
// 针对 9.0 以下的iOS系统进行处理
}
2.通过Foundation框架版本号
#define NSFoundationVersionNumber_iPhoneOS_2_0 678.24
#define NSFoundationVersionNumber_iPhoneOS_2_1 678.26
#define NSFoundationVersionNumber_iPhoneOS_2_2 678.29
#define NSFoundationVersionNumber_iPhoneOS_3_0 678.47
#define NSFoundationVersionNumber_iPhoneOS_3_1 678.51
#define NSFoundationVersionNumber_iPhoneOS_3_2 678.60
#define NSFoundationVersionNumber_iOS_4_0 751.32
#define NSFoundationVersionNumber_iOS_4_1 751.37
#define NSFoundationVersionNumber_iOS_4_2 751.49
#define NSFoundationVersionNumber_iOS_4_3 751.49
#define NSFoundationVersionNumber_iOS_5_0 881.00
#define NSFoundationVersionNumber_iOS_5_1 890.10
#define NSFoundationVersionNumber_iOS_6_0 992.00
#define NSFoundationVersionNumber_iOS_6_1 993.00
#define NSFoundationVersionNumber_iOS_7_0 1047.20
#define NSFoundationVersionNumber_iOS_7_1 1047.25
#define NSFoundationVersionNumber_iOS_8_0 1140.11
#define NSFoundationVersionNumber_iOS_8_1 1141.1
#define NSFoundationVersionNumber_iOS_8_2 1142.14
#define NSFoundationVersionNumber_iOS_8_3 1144.17
#define NSFoundationVersionNumber_iOS_8_4 1144.17
#define NSFoundationVersionNumber_iOS_8_x_Max 1199
#define NSFoundationVersionNumber_iOS_9_0 1240.1
#define NSFoundationVersionNumber_iOS_9_1 1241.14
#define NSFoundationVersionNumber_iOS_9_2 1242.12
#define NSFoundationVersionNumber_iOS_9_3 1242.12
#define NSFoundationVersionNumber_iOS_9_4 1280.25
#define NSFoundationVersionNumber_iOS_9_x_Max 1299
if(NSFoundationVersionNumber >= NSFoundationVersionNumber_iOS_9_0) {
// iOS 9.0 以上系统的处理
}else{
// iOS 9.0 以下系统的处理
}
3.根据特有的类判断
UIAlertController 这个类,是iOS 8之后才出现的,用来取代 UIAlertView 和 UIActionsheet 的,如果当前系统没有这个类,说明是低于iOS 8的,可以这么判断:
if(NSClassFromString(@"UIAlertController")) {
// 存在这个类// iOS 8.0 以上系统的处理
}else{
// iOS 8.0 以下系统的处理
}
4.根据特有的方法进行判断
类似于根据特有的类来判断,有些方法也是某个系统版本之后才出现的,根据有无这个方法即可得知当前版本号的范围,比如 boundingRectWithSize:options:attributes:context: 这个方法是 iOS 7.0 之后才有的,可以这样判断:
if([@""respondsToSelector:@selector(boundingRectWithSize:options:attributes:context:)]) {
// 存在这个方法// iOS 7.0 以上系统的处理
}else{
// iOS 7.0 以下系统的处理
}