我有一个包含大量目标的 Xcode 项目,我想在其中包含一个设置包,用于在 Ad-hoc 和 Debug 配置下构建的应用程序,但不在 Release 配置下。
构建阶段似乎不允许以配置为条件(它们显然可以以目标为条件,但是将项目中的目标数量加倍将使其完全无法使用)。
剩下的就是编写自定义构建规则。我的计划是从所有目标中排除 Settings.bundle,并创建一个有条件地将其复制到产品包中的构建规则,但是很难找到适用的示例。
我开始的构建规则将 Process 设置设置为“名称匹配的源文件:”并将 Settings.bundle 作为名称。使用设置是“自定义脚本:”。
我的自定义脚本如下(需要注意的是我的 bash 脚本处于货物崇拜级别):
if [${CONFIGURATION} = 'Debug'] then
cp -r ${INPUT_FILE_PATH} ${DERIVED_FILES_DIR}/.
fi
最后,我${DERIVED_FILES_DIR}/Settings.bundle
列出了一个输出文件。
既然我在这里,应该很明显它不起作用。我的第一个问题是我是否可以在某个地方查看构建规则的输出作为执行,以确保 1)它实际上正在执行,并且 2)我在某处没有愚蠢的语法错误。
此外,将输出复制到的正确位置(以环境变量的形式)是什么?