【问题标题】:How can I limit a "Run Script" build phase to my release configuration?如何将“运行脚本”构建阶段限制为我的发布配置?
【发布时间】:2011-04-06 13:18:15
【问题描述】:

我有一个 shell 脚本,我想在目标构建阶段结束时运行它。但是,我希望这个脚本只在我使用 release 配置构建时运行。如何才能做到这一点?谢谢!

【问题讨论】:

    标签: xcode macos xcode-build-settings


    【解决方案1】:
    if [ "${CONFIGURATION}" = "Release" ]; then
      echo Do something really release-like
    fi
    

    脚本将在每个配置结束时运行,但在这种情况下它不会做任何事情,除非配置是 Release(假设它所做的一切都包含在测试块中)。

    【讨论】:

    • 我刚刚发现它不适用于多字配置名称。它适用于“发布”,但不适用于“内部测试版”。
    • @Hedin - 这只是 bash;如果您有多字变量,则需要将变量括在引号中。所以 ${CONFIGURATION} 变成了“${CONFIGURATION}”。我会更新答案以包含它。
    • 我有 'Debug'、'Release'(用于 Instruments)、'Ad Hoc' 和 'App Store' 配置(使用不同的代码签名),所以我将其更改为 if [ "${CONFIGURATION}" != "Debug" ]; then...。跨度>
    • 对于 if 条件,我想使用存储在 .pch 文件中的 #define TRUE/FALSE。我将如何在脚本代码中引用它?
    • 可以用预处理器标志完成同样的事情吗?
    【解决方案2】:

    最简单的方法是选中“仅在安装时运行脚本”复选框。

    【讨论】:

    猜你喜欢
    • 2021-05-15
    • 2012-04-08
    • 2010-11-24
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 2010-11-23
    • 2015-01-18
    相关资源
    最近更新 更多