如何定义预处理器宏来检查iOS版本 [英] How to define preprocessor macro to check iOS version
本文介绍了如何定义预处理器宏来检查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屋!
查看全文