2013-07-03 39 views
0

我只是不知道如何做到这一点。XCode:可以指定每个构建配置的CFBundleIdentifier吗?

我与DebugRelease一起有一个特殊的生成配置。 (我们称之为Foo

我的CFBUndleIdentifiercom.my-company.our-project

然而,当我建(和归档)的Foo配置,我想用捆绑标识符com.my-company.foo.our-project

这可能吗?我试过的所有东西都失败了。

回答

2

我花了很多时间制作白标产品,所以我必须一直这样做。

我们想出的解决方案是使用Xcode“Run Script”构建阶段作为“postflight”脚本。

在您的项目文件中,选择目标,构建阶段,然后添加一个新的“运行脚本”构建阶段。我将这个阶段重新命名为“postflight”,并确保将阶段移至所有构建阶段完成的最后一步。

Postflight脚本所做的基本事情是查找构建的.app包,查找其中的Info.plist,然后更改其中的CFBundleIdentifier,无论我们现在的构建配置是否设置。我们的脚本做的不仅仅是这些(其他逻辑,后期处理,资源操作等)。

我无法提供太多细节,因为我的设置是为我定制的,而您的显然是为您定制的。但这是基本的方法。希望它能为你工作。

+0

谢谢。我忘记指定的是我需要用不同的证书签名应用程序。所以'com.my-company.our-project'的证书不能用于使用bundle ID'''com.my-company.foo.our-project'''签署ann应用程序? –

+0

我们也这样做。看看这个[iOS自动构建与Xcode4](http://www.splinter.com.au/ios-automated-builds-with-xcode4/)。我们并不完全按照他所做的来做,但我基于我们的剧本所做的很多事情。 – hsoi

+0

啊 - 这听起来好像这不是我离开XCode所能做到的。太糟糕:)感谢您的回复! –

相关问题