【问题标题】:Conflict between inHouse & appStore distribution profilesinHouse 和 appStore 分发配置文件之间的冲突
【发布时间】:2011-11-02 17:52:42
【问题描述】:

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

[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),所以它的目的是在无人值守的情况下构建。 这使得切换用户帐户成为不可能...

【问题讨论】:

  • 是 hotpaw2 的建议...还是在您完成分发构建时暂时删除其中一个?
  • 是的,这就是我们现在为应用商店创建发行版的方式。这个解决方法现在可以,但我们真的需要修复。
  • 收到 Apple 的重命名证书的提示。还没有机会尝试一下。敬请期待……

标签: ios app-store distribution


【解决方案1】:

解决方案: 我已将所有与应用商店相关的内容放在登录钥匙串中,将企业内容放在单独的钥匙串文件中。

在构建脚本中,我在这些之间切换如下:

    # 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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这将是手动构建的修复。但由于我们正在努力实现持续集成,我需要一个更好的解决方案。同时,我们已要求 Apple 更改企业帐户的名称.....
    • OSX 是多用户的。您应该能够在两个帐户中运行协同设计服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多