美文网首页
#ifdef和@available混用

#ifdef和@available混用

作者: 夜雨聲煩_ | 来源:发表于2021-04-16 13:46 被阅读0次

解决同时Xcode 10.3(iOS 12.4)和Xcode 11(iOS 13.0)中使用

#ifdef __IPHONE_13_0
if (@available(iOS 13.0, *)) {
    if([getMetalDevice() supportsFamily:MTLGPUFamilyApple3])
        pixelFormat = MTLPixelFormatBGRA10_XR;
    else
#else
{
#endif
        pixelFormat =  MTLPixelFormatBGRA8Unorm;
}
+ (PHAuthorizationStatus)authorizationStatus {
    PHAuthorizationStatus status;
#ifdef __IPHONE_14_0
    if (@available(iOS 14, *)) {
        status = [PHPhotoLibrary authorizationStatusForAccessLevel:PHAccessLevelReadWrite];
#else
    if(NO) {
#endif
    }else {
        status = [PHPhotoLibrary authorizationStatus];
    }
    return status;
}

But you should use this code only if you provide some opensource library that support several Xcodes.
If this is part of yours project, you should just migrate to new Xcode and doesn't overcomplicate yours code with preprocessor operators.
Better to solve problems with Appium instead of this.

相关文章

  • #ifdef和@available混用

    解决同时Xcode 10.3(iOS 12.4)和Xcode 11(iOS 13.0)中使用 But you sh...

  • @available 和 #available

    Swift 2.0 中,引入了可用性的概念。对于函数,类,协议等,可以使用@available声明这些类型的生命周...

  • swift @available 和 #available

    Swift 2.0 中,引入了可用性的概念。对于函数,类,协议等,可以使用@available声明这些类型的生命周...

  • Swift-常见关键字

    一、#available和@available @available是编译时期作用,#available是运行时起...

  • #ifdef和#if defined的区别

    #ifdef和#if defined的区别 #ifdef和#if defined他们都可以用来判断单个宏是否被定义...

  • iOS @available 和 #available 的用法

    Swift 2.0 中,引入了可用性的概念。对于函数,类,协议等,可以使用@available 声明这些类型的生命...

  • iOS-#ifdef DEBUG宏定义介绍

    iOS-#ifdef DEBUG宏定义介绍 一.#ifdef DEBUG代码块 #ifdef DEBUG // D...

  • #if 和#ifdef的区别

    不管把TARGET_LITTLE_ENDINA和TARGET_BIG_ENDINA定义成0或者1,甚至后面不写这个...

  • #if 和 #ifdef的区别

    面试题 猜一下哪段代码会被编译进去,强调下是编译进去,不是执行 答案第一段条件编译:逻辑1会被编译进去第二段条件编...

  • #if 和#ifdef的区别

    不管把TARGET_LITTLE_ENDINA和TARGET_BIG_ENDINA定义成0或者1,甚至后面不写这个...

网友评论

      本文标题:#ifdef和@available混用

      本文链接:https://www.haomeiwen.com/subject/fcrelltx.html