iOS 系统区分?

310 阅读1分钟

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