针对不同构建配置的不同Bundle Identifier

Jos*_*nez 39 xcode ios

我正在开发一个应用程序,我们正在尝试针对临时环境以及生产环境进行一些测试.当然,我已经创建了"Stage"和"Prod"构建配置以在两者之间切换,但我的客户希望将两者并排安装,以便他们可以轻松地在两个环境之间切换.到目前为止,我一直在使用不同的包标识符和包显示名称维护我的代码分支,因此可以并排安装和测试它们.不过,我开始怀疑是否有更简单的方法可以做到这一点.有没有办法我可以定义自定义构建设置,根据构建配置给它一个值,然后将它附加到包标识符的末尾?

就像是...

BUNDLE_SUFFIX
    TEST
    STAGE   
    PROD    ".PROD"
Run Code Online (Sandbox Code Playgroud)

...然后将我的Bundle Identifier设置为com.blah.blah$(BUNDLE_SUFFIX).然后使用PROD配置的所有构建将自动获得新的bundle id,并且我不必一直同步分支.这种事情甚至可能吗?

ano*_*eal 49

Xcode 7中:

这可以使用构建设置中的打包配置轻松完成

在此输入图像描述

  • 编辑你的方案,并将`Run`的`Build Configuration`改为`Release`或其他东西,其默认值是`Debug`.然后你的`general`页面会显示`Release`的配置.@RashmiRanjanmallick (3认同)
  • 除此之外,我还必须在“构建设置”中为每种配置设置“产品捆绑包标识符”。否则,“常规”选项卡中的“配置文件配置”设置将会出错(Xcode 8)。 (2认同)

Tim*_*ber 25

是的,你走在正确的轨道上.这是一个很好的教程:http://nilsou.com/blog/2013/07/29/how-to-have-two-versions-of-the-same-app-on-your-device/