1、
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000
if (@available(iOS 13.0, *)) {
UIColor *dyColor = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull traitCollection) {
if ([traitCollection userInterfaceStyle] == UIUserInterfaceStyleLight) {
return [UIColor whiteColor];
} else {
return [UIColor grayColor];
}
}];
hud.label.textColor = dyColor;
} else
#endif
{
#if __IPHONE_OS_VERSION_MIN_REQUIRED < 130000
hud.label.textColor = [UIColor whiteColor];
#endif
}
2、
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0
// 当前开发环境版本在iOS8.0及以上则编译此部分代码
#else
// 如果低于iOS8.0则编译此部分代码
#endif
3、
#if __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_8_0
// 如果选择(iOS Deployment Target)的最低支持版本在iOS8.0及以上才可以使用
- (void)execute;
#endif
4、
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0
// 在 iOS10.0 及以上的开发环境 编译此部分代码
#else
// 在低于 iOS10.0 的开发环境 编译此部分代码
#endif
5、
__IPHONE_OS_VERSION_MAX_ALLOWED 这个宏得到的是当前开发环境的系统SDK版本
__IPHONE_OS_VERSION_MIN_REQUIRED 这个宏它是当前项目选择的最低支持的版本
#if (__IPHONE_OS_VERSION_MAX_ALLOWED >= 110000)
//大于等于ios11
#endif
6、
#if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) && (__IPHONE_OS_VERSION_MAX_ALLOWED <= 100000)
//大于等于ios8 小于等于ios10
#endif