最近的一些小感悟,每次开发的时候都会不记得什么时候用编译期ios版本区分,什么时候用运行时ios版本区分。决定写下来下次就记得了!
编译期IOS版本判断:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 60000
//xcode baseSDK为6.0或者以上
#else
//xcode baseSDK为6.0以下的
#endif
编译期的版本判断是指在编译代码是XCode的sdk环境,这里就是指baseSDK的版本(xcode 5 是 IOS 7.0),有一些在编译的时候就可以区分的就用这个办法区分版本,比如文字对齐的枚举NSTextAligment(IOS6以后)和UITextAligment(IOS6以前) 这种枚举类型 在编译期的时候编译期就会替换,可以在代码里用上面这种办法保证你的代码高版的的xcode下不出warning,同时在低版本的xcode下也能编译。
运行时IOS版本判断:
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0) {
//设备系统为IOS 5.0或者以上的
}else{
//设备系统为IOS 5.0以下的
}
运行时判断版本用最普遍的就是应用需要适配低版本的IOS系统。比如一个新API在IOS6以后才出现,这种时候