如何将“运行脚本”构建阶段限制为发布配置?


138

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

Answers:


295
if [ "${CONFIGURATION}" = "Release" ]; then
  echo Do something really release-like
fi

该脚本将在每个配置的末尾运行,但是在这种情况下,它将不会执行任何操作,除非该配置为Release(假定它所做的一切都包含在测试块中)。


1
我只是发现它不适用于多词配置名称。它适用于“发行”,但不适用于“内部Beta”。
Hedin

4
@Hedin-那只是b;如果您有多字变量,则需要将变量用引号引起来。因此,$ {CONFIGURATION}变为“ $ {CONFIGURATION}”。我将更新答案以包括该答案。
詹森·可可

15
我有“调试”,“发布”(适用于乐器),“特设”和“应用商店”配置(具有不同的代码签名),因此我将其更改为if [ "${CONFIGURATION}" != "Debug" ]; then...
Nicolas Miari 2014年

1
对于if条件,我想使用存储在.pch文件中的#define TRUE / FALSE。.我如何在脚本代码中引用它?
newton_guima 2015年

2
可以通过预处理器标志来完成同一件事吗?
贾斯汀·瓦利

15

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



4
“在实际设备上进行调试安装(从Xcode构建并运行)不算作“安装”。运行脚本仅在归档时运行(已通过Xcode 9测试)。stackoverflow.com/questions/5913199/…–
darkheartfelt

2
如果您要在Release未存档的情况下以配置方式构建应用程序,则将无法使用。问题明确地是关于Release配置的。
Legonaftik
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.