为 project/workspace 中的所有 Xcode 目标声明一个公共 Xcode 变量用于 plist

Declare a common Xcode variable for use in plist for all Xcode targets in a project/workspace

我有一个 Xcode 项目,它有多个目标。我想在某处定义一个变量(准确地说是内部版本号的变量),我可以在其中引用每个项目的 Info.plist 中的 Bundle version 而无需单独更新它们。例如我将为每个目标将捆绑包版本设置为 $(BUILD_NUMBER) 一次(我已经编写了名称),然后我将在每个版本上增加该 BUILD_NUMBER 变量。这可能吗?如果是,如何?我看过 Adding a build configuration in Xcode and How to create variables for use in Xcode build settings values? 但设置显示为灰色:

首先,您需要去 Build Settings 和 select 配置(可能是 Debug 或 Release)。然后 添加条件设置 添加用户定义的设置 选项将被启用。 link 说明了它是如何完成的。

其次,手动增加内部版本号可能容易出错,尤其是在其他一些开发人员介入并开始处理同一项目之后。您可能想考虑使用一些 CI 解决方案,例如 fastlane instead. It makes use of agvtool 进行应用程序版本控制,因此您可能也想看看它。