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

Ras*_*ick 9 xcode objective-c ios xcode7

我为iOS Xcode项目设置了3种不同的构建配置. 在此输入图像描述

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

在此输入图像描述

INFO部分 -

在此输入图像描述

建筑设置 -

在此输入图像描述

当我直接更新通用部分中的包标识符时,将覆盖所有构建配置的构建设置 - >产品包标识符中的值.

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

Jen*_*der 11

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

PRODUCT_BUNDLE_IDENTIFIER = com.mycomp.hockey
Run Code Online (Sandbox Code Playgroud)

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

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

在此输入图像描述

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

在此输入图像描述

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

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

希望有所帮助.


dvd*_*blk 8

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

Info.plist变量示例

同样不要忘记在每个xcconfig文件中声明它。请享用。