gpt4 book ai didi

ios - ANT- 如何针对不同环境递归构建 iOS 项目?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:02:42 24 4
gpt4 key购买 nike

我正在使用 ANT 脚本来自动化我的 iOS 构建和打包任务。根据我当前的构建脚本,我从命令行传递所需的环境,脚本将为该特定环境生成一个 IPA 文件。

基本上,它将运行以下目标 - ValidateParameters、SetupBuildProperties、SetupXcodeSettings、clean、archive & package。

我必须为 Dev、QA 和 UAT 创建构建。因此,我必须运行脚本 3 次才能获得 3 个不同的 IPA 文件。当我从命令行传递环境时,我将其存储在 ANT 属性中,几乎所有目标都将使用它。因为,属性是不可变的,这对我也没有帮助。

现在,有没有什么方法可以通过仅运行一次脚本来生成所有 3 个构建?不确定如何重置环境属性!!

请帮帮我。

最佳答案

一个解决方案是创建一个名为“buildForAllEnvs”的目标,您可以在其中使用 antcall 调用子项目构建。对于每个目标环境并将其属性作为嵌套元素传递:

<target name="buildForAllEnvs">
<antcall target="runBuild">
<param name="targetEnv" value="Dev"/>
</antcall>
<antcall target="runBuild">
<param name="targetEnv" value="QA"/>
</antcall>
<antcall target="runBuild">
<param name="targetEnv" value="UAT"/>
</antcall>
</target>

请注意,在 Ant 中有许多方法可以覆盖或重置属性。参见 How to over-write the property in Ant? :

  1. 使用 Ant-Contrib 的 var
  2. 使用 macrodef 重用具有不同参数的相同构建。
  3. 使用项目 API 手动覆盖该属性(虽然很笨)。

关于ios - ANT- 如何针对不同环境递归构建 iOS 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40809725/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com