如何使用宏检测iPhone OS版本

sid*_*sid 2 iphone

我想在我的应用程序中检测iPhone OS版本.我尝试过使用检测代码,但建议使用宏.有人体验过,您可以发布示例代码以及要使用的库.

Bra*_*nar 6

我不确定你被建议使用什么宏.我一直认为找到版本号的标准方法是使其与未来和以前的版本兼容

NSString* versionNumber = [[UIDevice currentDevice] systemVersion]
Run Code Online (Sandbox Code Playgroud)

它赋予它作为NSString,如@"2.0"或@"2.2.1"

有一些Version常量描述了正在使用的Foundation类的版本,NSFoundationVersionNumber但我不确定它在旧版和未来代码中的可靠性.


Caj*_*uke 5

查看Availability.h,特别是语句:

#define __IPHONE_2_0     20000
#define __IPHONE_2_1     20100
#define __IPHONE_2_2     20200
#define __IPHONE_3_0     30000
#define __IPHONE_NA      99999
Run Code Online (Sandbox Code Playgroud)

并且不要忘记阅读巨头标题.预处理器宏绝对是通过os版本划分代码的最安全的方法.