在Xcode中拥有多种产品变体的最佳方法是什么?

时间:2013-08-28 23:03:22

标签: ios xcode

我有一个为客户维护的项目;我们称之为MyDataAssistant。当项目进入测试阶段时,客户端喜欢为他们构建一个“单独的应用程序”,我使用不同的配置文件和修改的包标识符(MyDataAssistant-BETA)创建。总是来回走动并更改包标识符,代码签名设置,尤其是图标,这是一种痛苦。我知道你可以在项目中拥有多个目标和多个构建设置(在每个目标中?),但我不清楚它们之间的区别,或者如何正确使用它们。

此外,客户端希望第三个版本具有只读功能。我可以通过从代码的某个部分返回一个标志来实现这一点,但是如果该标志可以在构建(目标?)设置中切换,我希望它。

请告知如何使用构建的多个“变体”管理此类项目。

2 个答案:

答案 0 :(得分:5)

例如,通过复制第一个版本,为项目添加新配置。

命名为“Beta”

enter image description here

添加用户定义的构建设置

enter image description here

例如,将其称为MY_DATA_ASSISTANT_BUNDLE_ID_SUFFIX,并将该值设置为-BETA仅适用于Beta配置。

enter image description here

通过将包标识符设置为MyDataAssistant-info.plist

来编辑com.YOURCOMPANYNAME.MyDataAssistant$(MY_DATA_ASSISTANT_BUNDLE_ID_SUFFIX)文件

这将使其具有不同配置的不同值。

您还可以通过将显示名称设置为$(PRODUCT_NAME)$(MY_DATA_ASSISTANT_BUNDLE_ID_SUFFIX)

来将其设置为不同的值

enter image description here

为每个配置设置正确的配置文件。 (当然,在配置门户中创建测试版之后,好像是用于包含标识符后缀为“-BETA”的新应用程序)

enter image description here

制作新计划!

enter image description here

给它起一个名字:MyDataAssistant-BETA

enter image description here

将所有操作的构建配置更改为“Beta”,您应该准备好了。 enter image description here

如果您想为测试版提供不同的图标,可以使用$(MY_DATA_ASSISTANT_BUNDLE_ID_SUFFIX)文件中的MyDataAssistant-info.plist作为图标名称,当然也可以将它们添加到目标。

答案 1 :(得分:4)

我建议创建两个目标。这将允许您在变体之间共享所需的文件,并在每个文件中包含自定义源或配置文件。最简单的实现是拥有一个相同的目标,除了info.plist文件。

只需在项目设置中右键单击当前的应用目标,然后点击重复。