inHouse和amp;之间的冲突appStore分发配置文件

时间:2011-08-24 11:47:36

标签: ios app-store distribution

我们为appStore版本提供了分发配置文件&一个用于inHouse分发。两者都有相同的公司名称。我们现在遇到的问题是,当我们尝试构建分发时,我们会收到错误:

[BEROR]CodeSign error: Certificate identity 'iPhone Distribution: OurCompanyName' appears more than once in the keychain. The codesign tool requires there only be one.

我们如何解决这个问题?

编辑:我们用来签名的mac用于持续集成(通过Bamboo),因此它意味着无人值守。 这使得切换用户帐户变得不可能......

2 个答案:

答案 0 :(得分:4)

解决方案: 我把所有与appstore相关的东西放在登录密钥链中,将企业内容放在一个单独的钥匙串文件中。

在buildscript中,我按如下方式切换:

    # 1. Only activate the System and either the Appstore(=login) or Enterprise keychain.
security list-keychains -s $KEYCHAIN_NAME $SYSTEM_KEYCHAIN

# 2. Loop through App Schema's
for APP_SCHEME in ${APP_SCHEMES[@]}; do
    echo "--=  Processing $APP_SCHEME  =--"
    xcodebuild -scheme "${APP_SCHEME}" archive
done ### Looping through App Schema's

# 3. Restore login & system keychains
security list-keychains -s $APPSTORE_KEYCHAIN $ENTERPRISE_KEYCHAIN $SYSTEM_KEYCHAIN

答案 1 :(得分:0)

使用两个不同的Mac用户帐户(不同登录)来保存两组不同的证书和条款(两个不同的钥匙串等)。从共享存储库中检查源代码,并在相应的用户帐户中执行最终构建。