首页 > 解决方案 > 如何使用 Swift 从 Xcode 中的代码访问预处理器宏?

问题描述

如何从 Swift 代码中为我定义的字符串访问 Xcode 中的预处理器宏?其他堆栈溢出帖子显示了如何创建宏,但没有向我展示如何在代码中充分访问它们。

例如,我定义了一个名为 HELLO_WORLD_STRING = "Hello World!" 的常量。在构建设置中的预编译头文件中未使用的预处理器宏中,如图所示:

预编译头文件中未使用的预处理器宏

作为示例,我将如何在调试窗口中打印该常量?

我实际上需要使用应用程序名称的值来设置导航栏的标题,但我想采取这条路线来做到这一点。

我曾尝试使用 #if ... #endif 语句,但无法识别该常量。

标签: iosswiftxcodemacrosbuild-settings

解决方案


如果您想使用如下语法:

 #if DEBUG_API_CALL
    print("Start loading \(method) \(url)")
 #endif

您必须在构建设置选项卡中将 DEBUG_API_CALL(或其他您的名字)添加到 Active Compilation Conditions:

构建设置选项卡中的活动编译条件


推荐阅读