系统版本号

来源:互联网 发布:智通方达 软件多少钱 编辑:程序博客网 时间:2024/05/22 03:38

我们可以很爽的这样去宏定义系统版本号:

/** *@brief 获取系统版本号 */#define VERSION_FLOAT [[[UIDevice currentDevice] systemVersion] floatValue]

这个时候在代码中就可以很爽地这样用:

if (VERSION_FLOAT < 8) {// do something.}


然后我就脑残想当然的这样用了:



stackoverflow也有我这样的脑残:

http://stackoverflow.com/questions/17481396/invalid-token-at-start-of-a-preprocessor-expression-xcode


大体就是归因于objcive-c的动态性,在编译状态不能做这些确定值的函数调用操作(除了直接赋值)

所以就报出了:invalid token at start of a preprocess expression : 在预编译表达无效的字段


但是究竟我们要怎么才能用宏编译判断系统呢?


我们大可以用苹果自己的宏定义:


这个时候我们就可以大胆的在预编译随便用啦

#ifdef __IPHONE_8_0  // .. #endif

为什么这个可以呢,因为如果系统版本大于等于这个版本才会存在这个定义


或者这样:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0  // ..#endif



可以参考一下:

http://stackoverflow.com/questions/3339722/how-to-check-ios-version



0 0