【问题标题】:Dynamically updating xcconfig in Build Phase在构建阶段动态更新 xcconfig
【发布时间】:2020-03-04 03:29:31
【问题描述】:

我目前正在使用几个 Xcode 工作区。工作区的目标是允许一个版本使用依赖项目的预构建版本构建,而另一个版本将使用所有依赖项作为项目构建。

假设我们有主项目 A。A 有依赖项 B 和 C。我们有两个工作区,其中包含以下项目。

工作区 1: A.xcodeproj B.xcodeproj

工作区 2: A.xcodeproj B.xcodeproj C.xcodeproj

对于工作区 1,A 和 B 作为项目存在,但 C 将被视为预构建框架。对于 Workspace 2,A、B 和 C 作为项目存在。换言之,A 和 B 在工作区 1 中可调试,而 A、B 和 C 在工作区 2 中可调试。

我们的目标是能够拥有这 2 个(或更多)工作空间,从而在构建过程中不必首先修改任何现有项目文件。

我通过一个构建阶段来完成这项工作,该阶段复制一个xcconfig 文件,该文件“配置”A 的构建设置。这个构建阶段是通过另一个项目文件完成的,我称之为Bootstrap.xcodeproj。此项目文件包含复制 xcconfig 的构建阶段,并且在其方案中定义了 A 作为构建目标。我注意到的是,无论 Parallel Builds 是打开还是关闭,有时 Bootstrap 都会在 A 之前或之后运行。即使在 A 之前运行,Build Settings 也不会总是得到更新。

如果我先构建工作区 1,然后再构建工作区 2,这很明显。在构建工作区 2 时,第一个构建将失败,因为它仍在使用工作区 1 中的xcconfig

看看是否有人知道如何让 Xcode 从 xcconfig 动态重新更新构建设置,或者更好地协调这一点。

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    我从这里找到了解决方案:how to make xcode run a script before dependencies?

    我已将 Bootstrap 中的构建阶段脚本移至操作前脚本。我已经完成了一些构建,这似乎正确地允许使用复制的 xcconfig

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-07
      • 2011-10-18
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多