【发布时间】: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 动态重新更新构建设置,或者更好地协调这一点。
【问题讨论】: