11

我有一段代码只能在 iOS 6 或更高版本上运行。

control.tintColor = [UIColor greenColor];

是否有准备好使用的编译器指令,例如#ifdef iOS6_or_greater

4

3 回答 3

17

最好检查功能,而不是 iOS 版本。

例如,您可以使用 respondsToSelector 查看是否支持给定的方法。

[someObject respondsToSelector:@selector(someMethod)]

做不到这一点,有一个预处理器指令

#if __IPHONE_OS_VERSION_MIN_REQUIRED >= 60000
- (BOOL)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}
#endif
于 2013-09-02T11:25:28.293 回答
0

你可以去这个............

float currSysVerFloat = [[[UIDevice currentDevice] systemVersion]floatValue];
if (currSysVerFloat>=6.0) {
    isversion6=TRUE;
    control.tintColor = [UIColor greenColor];
    //This is iOS6 or greater
} else {
    //do nothing
    isversion6 = FALSE;
}
于 2013-09-02T11:25:58.873 回答
0

我只是给你比较系统版本的基本代码

将以下代码写入

#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)

你的projectName-Prefix.pch所以你可以在任何你想要的地方访问它。

并将其作为条件应用,例如

if( SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6") )
{

}
else
{

}
于 2013-09-02T11:42:10.617 回答