ios - Xcode if 语句从不识别活动编译条件
问题描述
如您所见,在我的Active compilation conditions
I 中有 2 flags(or whatever it is called)
、 A和B。
我有 2 个目标,所以第一个目标有标志 A,第二个目标有标志 B...
在代码中,我试图根据选定的应用程序目标定义一个值,但问题是它永远不会进入#if
块,但总是#else
块
。
我一直试图解决这个问题几个小时,但没有任何帮助。我还尝试-D
输入我的标志名称,也尝试定义A
and B
in Other Swift Flags
... 没有任何效果。
这是我的简单代码:
#if A
#define kId @"a1a2a3" //never executed.
#else
#define kId @"b1b2b3" //always executed. Weird thing is also that I put a breakpoint here but its never catched...
#endif
解决方案
主动编译条件适用于 Swift,类似于 Objective-C/C/C++ 中的预处理器宏。
#
在基于 C 的语言中,以预处理器指令开头的行。
由于您使用的是 Objective-C,因此要#if
在代码中使用 的值A
应该是非零的。如果您只想测试是否A
已定义,则可以#ifdef
改用。在下定义。A=1
_Preprocessor Macros
Apple Clang - Preprocessing
推荐阅读
- php - 通过 ajax 保存时 CodeIgniter 不维护会话
- salesforce-lightning - 闪电组件中的 CkEditor
- c# - WebAPI 中的自定义返回结果
- node.js - 如何使用存储过程是sequalize orm
- mysql - 如何使用 UNION ALL 语句修复此 SQL?
- django - 如何在模板中显示消息负载数据
- android - 在 androidx 中更改快餐栏字体
- php - esc_html__() 有什么作用,它的用途是什么?
- css - Webpack css-loader:如何将文件导入代码中的特定位置?
- eclipse - Test runs on command line, fails in Scala-IDE