iOS 判断系统版本号的宏定义
2014-10-28 14:37
197 查看
_IPHONE_OS_VERSION_MIN_REQUIRED
要求最低的系统版本
__IPHONE_OS_VERSION_MAX_ALLOWED
允许最高的系统版本
大多数的文档都没有正确的解释这两个宏定义如何使用
首先明确一个概念,Deploy Target是指编译使用的SDK,BaseSDK是指当前Xcode使用的SDK。
与MIN_REQUIRED和MAX_ALLOWED有关系的是Deploy Target。
举个例子来说明:
比如SDK 3.x
__IPHONE_OS_VERSION_MIN_REQUIRED==__IPHONE_3_0
__IPHONE_OS_VERSION_MAX_ALLOWED==__IPHONE_3_x
通常,__IPHONE_OS_VERSION_MAX_ALLOWED可以代表当前SDK的版本,而__IPHONE_OS_VERSION_MIN_REQUIRED则是同系列最低版本。
在UIDevice的接口中,有一个如下判断,让我思考了很久。
typedef NS_ENUM(NSInteger, UIUserInterfaceIdiom)
{
#if __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED
UIUserInterfaceIdiomPhone, // iPhone and iPod touch style UI
UIUserInterfaceIdiomPad, // iPad style UI
#endif
};
“__IPHONE_OS_VERSION_MAX_ALLOWED>=__IPHONE_3_2”指最高系统版本大于3.2,也就是说需要3.2以上的SDK才会编译此处。
当然,根据红字出的理解,这句话还可以翻译为“需要系统版本大于3.2”。
开始的时候,我错误的认为应该写成“ __IPHONE_OS_VERSION_MIN_REQUIRED >=__IPHONE_3_2”,是因为不理解iOS
SDK同一系列,例如3.x,4.x,5.x等的兼容模式。
当使用边界作为判断条件的时候,__IPHONE_OS_VERSION_MIN_REQUIRED会比较好用。例如“ __IPHONE_OS_VERSION_MIN_REQUIRED >=__IPHONE_3_0”,表示必须使用3.x及以上的系统。
要求最低的系统版本
__IPHONE_OS_VERSION_MAX_ALLOWED
允许最高的系统版本
大多数的文档都没有正确的解释这两个宏定义如何使用
首先明确一个概念,Deploy Target是指编译使用的SDK,BaseSDK是指当前Xcode使用的SDK。
与MIN_REQUIRED和MAX_ALLOWED有关系的是Deploy Target。
举个例子来说明:
比如SDK 3.x
__IPHONE_OS_VERSION_MIN_REQUIRED==__IPHONE_3_0
__IPHONE_OS_VERSION_MAX_ALLOWED==__IPHONE_3_x
通常,__IPHONE_OS_VERSION_MAX_ALLOWED可以代表当前SDK的版本,而__IPHONE_OS_VERSION_MIN_REQUIRED则是同系列最低版本。
在UIDevice的接口中,有一个如下判断,让我思考了很久。
typedef NS_ENUM(NSInteger, UIUserInterfaceIdiom)
{
#if __IPHONE_3_2 <= __IPHONE_OS_VERSION_MAX_ALLOWED
UIUserInterfaceIdiomPhone, // iPhone and iPod touch style UI
UIUserInterfaceIdiomPad, // iPad style UI
#endif
};
“__IPHONE_OS_VERSION_MAX_ALLOWED>=__IPHONE_3_2”指最高系统版本大于3.2,也就是说需要3.2以上的SDK才会编译此处。
当然,根据红字出的理解,这句话还可以翻译为“需要系统版本大于3.2”。
开始的时候,我错误的认为应该写成“ __IPHONE_OS_VERSION_MIN_REQUIRED >=__IPHONE_3_2”,是因为不理解iOS
SDK同一系列,例如3.x,4.x,5.x等的兼容模式。
当使用边界作为判断条件的时候,__IPHONE_OS_VERSION_MIN_REQUIRED会比较好用。例如“ __IPHONE_OS_VERSION_MIN_REQUIRED >=__IPHONE_3_0”,表示必须使用3.x及以上的系统。
相关文章推荐
- iOS常用判断的宏定义:系统版本号,屏幕宽高,设备型号, 自定义NSLog等
- iOS常用判断的宏定义:系统版本号,屏幕宽高,设备型号, 自定义NSLog等
- iOS - 判断当前系统版本号
- iOS判断系统版本号的四种方法
- ios开发过程中 设备类型的判断 系统版本号的判断
- JS判断ios系统的版本号
- iOS 宏定义当前设备的系统版本号,设备的高度、型号等
- 如何判断当前系统是不是IOS 7(宏定义)
- JS辨别访问浏览器判断是android还是ios系统
- 在iOS中判断系统是24小时时间制还是12小时时间制方法
- 判断 iOS 系统版本
- ios 设备 系统 版本 判断
- 编程判断电脑系统版本号 windows VS2010
- 如何获得 ios的系统版本号
- 通过浏览器,javascript判断 ios 系统版本
- 判断ANDROID系统的版本号也即API Leve
- 判断ios版本号 自定义宏
- 判断 iOS 系统版本
- IOS开发之--获取设备类型和系统版本号
- 怎样判断所运行的ANDROID系统的SDK版本号