如何写#ifdef中的条件.用于分期.在目标c

use*_*268 24 objective-c preprocessor-directive

我需要在此调用Staging中添加一个条件..

在这种情况下如何做到这一点.

  #ifdef MYAPP_PRODUCTION
        buildMode = @"Production";
    #else

    #ifdef MYAPP_RELEASE
        buildMode = @"Release";
    #else MYAPP_DEBUG
       buildMode = @"Debug";
    #endif
    #endif
Run Code Online (Sandbox Code Playgroud)

另一个是MyApp_Staging需要包含在这个if条件中如何做到这一点?

Suh*_*tel 66

您可以执行类似这样的操作来包含所有不同的选项,包括新的暂存模式,并使整个语句更清晰:

#ifdef MYAPP_PRODUCTION
    buildMode = @"Production";
#elif MYAPP_RELEASE
    buildMode = @"Release";
#elif MYAPP_DEBUG
    buildMode = @"Debug";
#elif MYAPP_STAGING
    buildMode = @"Staging";
#endif
Run Code Online (Sandbox Code Playgroud)


jv4*_*v42 58

你的问题不是很明确......如果你想在#ifdef中有多个条件,这里有一个解决方案:

#if defined(MYAPP_RELEASE) && defined(MyApp_Staging)
    // ...
#else
    // ...
#endif
Run Code Online (Sandbox Code Playgroud)

  • || 也适用于:)#如果定义了RELASE || 定义了STAGING (3认同)
  • 完美的!正是我正在寻找的,即使这不是 OP 想要的 (2认同)

pau*_*lvs 10

在Swift和Xcode 7中,语法已经改变:

#if DEBUG || RELEASE
    let URL = "https://www.example.com/beta"
#elseif APPSTORE
    let URL = "https://www.example.com/prod"
#endif
Run Code Online (Sandbox Code Playgroud)