Xcode- 如何为不同的构建配置设置不同的包标识符?

Xcode- how to set different bundle identifiers for different build configuration?

在项目的 Xcode 设置的 Info 选项卡(不是目标的 Info 选项卡)中,我有 3 种不同的构建配置,每个配置有 2 个 .xcconfig 文件设置我的 iOS Xcode 项目。

我想为不同的配置设置不同的包标识符,以便更好地进行代码签名管理。以下是我在构建设置下的一般身份设置、信息选项卡设置和包标识符设置。

信息部分-

构建设置-

当我在常规部分直接更新包标识符时,构建设置中的值 --> 产品包标识符被所有构建配置覆盖

请建议我更好的管理方法!!

据我所知,您已经为每个配置设置了单独的 xcconfig 文件。这意味着您只需将具有相应值的包标识符键添加到每个构建配置/xcconfig 文件中即可。

PRODUCT_BUNDLE_IDENTIFIER = com.mycomp.hockey

您需要确保在您的 Xcode 项目构建设置中没有覆盖这些 xcconfig 设置(相应的值不应为粗体)。

如果您想在包标识符之间即时切换,您可能需要为每个构建配置创建一个方案。这样你就可以 select Xcode 方案中的相应方案 select 或者(在 build/run 按钮旁边)。

要创建新方案,只需从方案 select select New scheme 或选择一个名称,例如 MyApp [Hockey]。然后编辑方案和 select 每个步骤的首选构建配置,例如 MyApp [Hockey] 用于 Archive 步骤。

您会注意到目标信息屏幕上的包标识符会根据 selected 方案而改变。有时您需要切换到项目设置的不同选项卡,然后在包标识符更改之前返回到信息选项卡(许多 Xcode 错误之一)。

我们对所有项目都使用完全相同的方法。

希望对您有所帮助。

Jens 的回答让我有点困惑。您所要做的就是将 xcconfig 声明变量 (PRODUCT_BUNDLE_IDENTIFIER = com.mycomp.hockey) 添加到 Info.plist 产品包标识符字段:

另外不要忘记在每个 xcconfig 文件中声明它。享受。