如何定义预处理器宏来检查iOS版本 [英] How to define preprocessor macro to check iOS version

查看:128
本文介绍了如何定义预处理器宏来检查iOS版本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用它来检查iOS版本,但它不起作用:

I use it to check iOS version, but it doesn't work:

#ifndef kCFCoreFoundationVersionNumber_iPhoneOS_5_0
#define kCFCoreFoundationVersionNumber_iPhoneOS_5_0 675.000000
#endif

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_5_0
#define IF_IOS5_OR_GREATER(...) \
if (kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iPhoneOS_5_0) \
{ \
__VA_ARGS__ \
}
#else
#define IF_IOS5_OR_GREATER 0
#endif

我做b

when I make

#if IF_IOS5_OR_GREATER
NSLog(@"iOS5");
#endif

没有任何反应。这里有什么不对吗?

nothing happens. Is something wrong here?

推荐答案

你已经定义了一个宏,但你是以非宏的方式使用它。尝试使用相同的宏定义。

You've defined a macro, but you're using it in the non-macro way. Try something like this, with your same macro definition.

IF_IOS5_OR_GREATER(NSLog(@"iOS5");)

(这不是你的 #if / #endif 阻止。)

(This is instead of your #if/#endif block.)

这篇关于如何定义预处理器宏来检查iOS版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆