我有一个应用程序,我想使用预处理器。我使用“xcodebuild”并传递参数APPLICATION_TYPE=
,该参数可以是DEV
或PROD
。
然后,我想要定义一个标志,然后根据dev
或prod中的哪一个使用我的代码。
代码:
#if APPLICATION_TYPE == DEV
#define DEVELOPMENT
#elif APPLICATION_TYPE == PROD
#define PRODUCTION
#endif
我似乎遇到的问题是无论我传入“xcodebuild”,它都会定义开发。
有人可以告诉我我做错了吗?
答案 0 :(得分:0)
如果要进行比较,则必须使用数值。
不是定义像APPLICATION_TYPE
这样的东西,而是为每种应用类型定义宏更容易,例如APLICATION_IS_DEV=1
和APLICATION_IS_PROD=1
并添加一个预处理器,声明至少定义了其中一个,并且它们不是同时定义的。
但是,使用Xcode有一种更好的方法来指定预处理宏 - 只需创建一个特殊的方案或目标,而不是在宏之间切换。在方案或目标之间切换。