仅在iOS什么的,但是我如何反过来做呢?通过在模拟器中运行iOS 5.0,我尝试了以下操作: #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_6_0 // Code for iOS < 6.0 here #endif

仅在iOS什么的,但是我如何反过来做呢?通过在模拟器中运行iOS 5.0,我尝试了以下操作: #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_6_0 // Code for iOS < 6.0 here #endif,ios,xcode,Ios,Xcode,我可以找到很多关于如何只编译/运行代码的例子,然后iOS版本是>什么的,但是我如何反过来做呢?通过在模拟器中运行iOS 5.0,我尝试了以下操作: #if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_6_0 // Code for iOS < 6.0 here #endif 这是因为如果我运行的是iOS

我可以找到很多关于如何只编译/运行代码的例子,然后iOS版本是>什么的,但是我如何反过来做呢?通过在模拟器中运行iOS 5.0,我尝试了以下操作:

#if __IPHONE_OS_VERSION_MAX_ALLOWED < __IPHONE_6_0
// Code for iOS < 6.0 here
#endif
这是因为如果我运行的是iOS<6,我想做一些样式设置,但在iOS 6上,我可以更轻松地做这些样式设置。但是,在这个方法中运行时进行版本检查并不是我真正想要的,因为这样就太晚了

多谢各位
Søren

这里是一个运行时而非编译时检查

#define SYSTEM_VERSION_LESS_THAN(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
像这样使用它

ifSYSTEM\u版本\u LESS_THAN@6.0 {


}两者之间有区别

编译时检查是否针对特定SDK进行编译,以及 检查代码在哪个操作系统上运行 检查_IPHONE_6_0宏只会检查编译的目标。。。这就是你想要的吗?如果是这样,您可以使用ifndef\uuu IPHONE\u6\u0检查您是否不是为iOS 6编译


如果您想知道代码运行在哪个操作系统上,可以查看MSK。

为什么您认为在运行时进行检查太迟了?
#define SYSTEM_VERSION_LESS_THAN(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)