【问题标题】:Xcode Preprocessor comparison [duplicate]Xcode预处理器比较[重复]
【发布时间】:2014-05-22 10:27:40
【问题描述】:

我有一个想要使用预处理器的应用程序。我使用“xcodebuild”并传递一个参数APPLICATION_TYPE=,它可以是DEVPROD

然后我想定义一个标志,然后根据已使用 dev 或 prod 中的哪一个在我的代码中使用。

代码:

#if APPLICATION_TYPE == DEV
    #define DEVELOPMENT
#elif APPLICATION_TYPE == PROD
#define PRODUCTION
#endif

我似乎遇到的问题是,无论我将什么传递给“xcodebuild”,它总是会定义 DEVELOPMENT。

谁能告诉我我做错了什么?

【问题讨论】:

    标签: objective-c xcode c-preprocessor


    【解决方案1】:

    如果要进行比较,则必须使用数值。

    与其定义APPLICATION_TYPE 之类的东西,不如为每种应用程序类型定义一个宏更容易,例如APLICATION_IS_DEV=1APLICATION_IS_PROD=1 并添加一个预处理器,断言至少定义了其中一个,并且它们不是同时定义的。

    但是,使用 Xcode 有一个更好的方法来指定预处理宏 - 只需创建一个特殊的方案或目标,不要在宏之间切换。在方案或目标之间切换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 1970-01-01
      • 2010-09-19
      • 2011-04-24
      • 2011-08-12
      • 2011-08-21
      • 1970-01-01
      相关资源
      最近更新 更多