【问题标题】:How do I define preprocessor macros in Xcode 4?如何在 Xcode 4 中定义预处理器宏?
【发布时间】:2011-12-12 15:54:43
【问题描述】:

我为我的应用程序设置了两个目标(精简版和专业版),我想在每个目标的代码中集成一些细微的差异(例如,专业版不会显示任何 iAd 横幅)。

我一直在环顾四周,发现最简单的方法是使用预处理器宏。我面临的问题是如何在 Xcode 4 中设置它们。我想在一个目标中设置一个名为“PRO_VERSION”的宏,在另一个目标中设置一个“LITE_VERSION”。

以下是我打算如何使用它们的示例:

#ifdef PRO_VERSION
    // Hide ad banners
#else
    // Show ad banners
#endif

【问题讨论】:

标签: iphone xcode4 macros preprocessor targets


【解决方案1】:

我现在不在我的 Mac 上,所以我不能给出完整的分步指导,但我相信这应该是准确的,如果没有我想的那么详细的话。创建一个新的构建目标。转到此新目标的配置屏幕。沿着编译选项行应该有一个选项卡。在此选项卡中应该有一行用于其他编译器标志。在那里,输入-DPRO_VERSION

【讨论】:

    【解决方案2】:

    您需要更改的构建设置称为“预处理器宏”,可以在“项目设置”窗格的“构建设置”选项卡中找到(使用搜索框查找)。在 Project Settings 窗格的左侧依次选择每个目标,然后修改 Preprocessor Macros 设置。

    该设置被指定为以空格分隔的预处理器宏列表,格式为“foo”或“foo=bar”。

    【讨论】:

    • 感谢您的帮助。我需要将它们添加到调试、发布还是两者兼而有之?
    • 两者。您需要专业版和精简版才能在调试和发布配置中正确编译。
    • 只是为了澄清。您将选择您的“Pro”目标,然后将“PRO_VERSION”添加到调试和发布的预处理器宏设置中。您无需为“Lite”目标执行任何操作。
    • 有没有办法为所有配置定义一些东西?为调试和发布而必须复制它似乎是完全错误的; debug 和 release 应该继承一些东西,并且应该只定义从共享集中更改的东西。
    猜你喜欢
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    • 2010-09-19
    • 2011-02-12
    • 2019-10-17
    • 1970-01-01
    • 2011-01-26
    • 2011-07-30
    相关资源
    最近更新 更多