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

时间:2016-10-18 12:10:37

标签: ios objective-c xcode xcode7

我为iOS Xcode项目设置了3种不同的构建配置。 enter image description here

我希望为不同的配置提供不同的捆绑标识符,以便更好地进行代码签名管理。以下是我的常规身份设置,信息选项卡设置和构建设置下的捆绑标识符设置。

enter image description here

INFO部分 -

enter image description here

构建设置 -

enter image description here

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

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

2 个答案:

答案 0 :(得分:11)

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

PRODUCT_BUNDLE_IDENTIFIER = com.mycomp.hockey

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

如果要动态切换捆绑标识符,可能需要为每个构建配置创建一个方案。这样你就可以在Xcode方案选择器中选择相应的方案(在构建/运行按钮旁边)。

enter image description here

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

enter image description here

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

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

希望有所帮助。

答案 1 :(得分:6)

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

Info.plist variable example

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