Xcode 6 App Store 提交失败并显示“您的帐户已经拥有有效的 iOS 分发证书”

Posted

技术标签:

【中文标题】Xcode 6 App Store 提交失败并显示“您的帐户已经拥有有效的 iOS 分发证书”【英文标题】:Xcode 6 App Store submission fails with "Your account already has a valid iOS distribution certificate" 【发布时间】:2014-12-30 07:56:17 【问题描述】:

我正在使用最新的 XCode (6.1),我需要尽快提交应用程序,但我似乎无法绕过“您的帐户已经拥有有效的 ios 分发证书”错误。

我有客户的配置文件,我有他的分发证书(有效)和他的私钥(我使用钥匙串检查过,它肯定在那里)。捆绑包 ID 也是正确的。我已经删除了我的配置文件和证书,并多次重新安装了客户端。

什么可能导致此问题?我在这里看到了很多关于这个问题的主题,所以我事先为创建另一个克隆而道歉,但我真的不知道如何解决这个问题。

编辑:顺便说一下,我正在运行全新安装的 Yosemite

【问题讨论】:

这可能对您有所帮助:developer.apple.com/library/ios/technotes/tn2407/_index.html(您可以在没有可用于签名的身份副标题下找到相关链接。 该链接仍然可以为解决问题提供指导:developer.apple.com/library/ios/documentation/IDEs/Conceptual/…(可能的解决方案在证书问题部分下)。 感谢您的输入,但该链接基本上告诉我撤销并申请新证书。我不想这样做,因为我的客户的证书是有效的,而且我有客户的私钥和配置文件,所以理论上它应该可以工作,对吧? 我已经吊销了很多次证书和配置文件,但都无法正常工作。 【参考方案1】:

通过在开发者会员中心编辑 iOS Distribution Provision Profile 解决了这个问题。

由于某种原因,分发配置文件有 2 个证书可供选择。我切换到另一个证书,我可以验证并提交我的存档版本以进行 beta 测试。

因此,您可能拥有多个证书来签署您的配置文件。确保你有正确的(通过尝试所有这些),希望这应该有效。

我尝试了很多方法,例如从 Xcode 帐户导出开发人员配置文件并将其导入管理器中,从成员中心安装配置文件,将它们添加到我的钥匙串中。但这些都没有奏效。它仅在手动编辑适当的配置文件后才开始工作。

您也可以尝试删除所有可用的 Provisioning Profiles 并让 Xcode 为您创建新的。这也将起作用。

【讨论】:

我有两个开发者帐户,每次向其中一个帐户提交应用程序时,我都必须重置配置文件,有什么建议吗? 只需按下重置按钮就可以了。 这是2017年的解决方案!【参考方案2】:

我也遇到了这个问题,结果证明这是由于尝试使用开发配置文件而不是分发配置文件导出临时部署而导致的。 Xcode 6.1 似乎不再支持这一点。一旦我创建了一个临时配置文件并安装,问题就消失了。一个更有用的错误信息可以为我节省几个小时的工作时间,我们将不胜感激,Apple。

这个帖子很有帮助:

xcode 6 beta 2 issue with exporting ipa "Your account already has a valid iOS distribution certificate"

【讨论】:

【参考方案3】:

除了所有其他答案之外,2016 年 2 月 15 日之后还有另一种可能性:旧的 World Wide 证书已过期,我想每个人都已经下载了新证书(或 check this out)。但是,如果您没有删除过期的错误,您将看到此错误。您可能需要选择 View -> Show Expired Certificates 来取消隐藏过期的证书。如果错误仍然存​​在,请尝试按照其他人的建议重新生成配置文件。

【讨论】:

另外,请注意,您需要在左上角的“钥匙串”部分下一行。在我的头撞到墙上几次后,我在“系统”钥匙串下面发现了一个额外的过期证书。【参考方案4】:

当我遇到这个问题时,我正在迁移到新的 Mac。 在您的旧 Mac 上:

    Preferences > Accounts > Select Account > Details。 在下拉列表中右键单击iOS Distribution(或您的分发证书的名称)。 Export....p12 文件设置密码。 在新的 mac 中移动并安装此 .p12Try Again

【讨论】:

谢谢,这正是我所需要的。【参考方案5】:

问题的另一个可能原因(至少在我的情况下)是在我的钥匙串访问中,我有两个证书用于我正在使用的团队。一个过期了,另一个是我想用的。删除钥匙串访问中的过期证书解决了这个问题。

【讨论】:

【参考方案6】:

我遇到了这个问题,我想避免搞砸我的推送通知。

对我来说最简单的解决方法是转到 developer.apple.com > 项目 > 认证、ID 和配置文件 > 配置文件 > 创建一个新配置文件(用于开发或分发)

下载创建的配置文件,将配置文件拖放到 Xcode 图标上,然后在您的项目目标中,将新配置文件设置为配置文件。

这解决了我的问题——它可能会在未来提供进一步的帮助。

【讨论】:

【参考方案7】:

错误消息可能意味着您需要从创建它们的开发人员那里获取分发证书和私钥。

如果其他团队成员按下了诱人的“重置”按钮(这意味着撤销证书并创建新证书),就会发生这种情况。 这是一张被吊销的证书的图片:

您可以从创建的开发者那里导出有效证书 并将其导入到其他团队成员的钥匙串中。

转到“钥匙串访问”应用。 点击左上角的“登录” 点击左下角的“证书” 检查哪个团队成员拥有有效证书: 点击“iPhone Distribution”证书时 其他所有人都会在顶部看到红色的“此证书已撤销”。 (也许备份已删除的证书以避免做任何不可逆的事情) 删除 吊销证书 导出一个有效证书并分发给团队 为其他人导入证书文件

【讨论】:

【参考方案8】:

今天我通过从钥匙串旧证书中删除 Apple Worldwide Developer Relations Certification Authority 并安装新证书来解决问题(2023 年到期)

【讨论】:

【参考方案9】:

我会在这里补充,因为虽然接受的答案让我走上了正确的轨道,但它不是解决方案。我撤销了第二个(由 Xcode 自动创建的)发行版证书。这样做之后,出现了一个新错误。 (“带有标识符的 App ID '' 不可用”......这也没有帮助)最终这让我发现我在成员门户中的 App Id 没有与构建匹配的权利。

【讨论】:

【参考方案10】:

我通过在我的应用程序中使用的会员中心编辑配置文件并重新安装配置文件解决了这个问题。

【讨论】:

【参考方案11】:

我最近换了电脑。 对我来说,原因是我在 Apple Developer 会员门户中拥有多个开发者证书。 解决方案是:

转到 Apple 开发者门户 进入证书 -> 生产 点击“吊销”以获取最旧的证书并保留最新的证书

吊销证书不会影响您的 Apple Store 应用 :)。

【讨论】:

Revoking certificates won´t affect your Apple Store apps,但他们说:Revoking this certificate will invalidate it and any related services or provisioning profiles that use this certificate may be affected。所以我不推荐这个解决方案。【参考方案12】:

当我不小心在另一台 Mac 上重置证书时,我遇到了这种情况。这是我的场景。

Mac1 - 有工作证书。

Mac2 - 我不小心重置了 iOS 分发证书

Mac1 停止工作,我收到消息“您的帐户已经拥有有效的分发证书”

修复是

在 Mac2 上,钥匙串访问 -> 证书 -> iOS 分发证书(为您/您的公司)-> 导出到 p12 文件(它会要求您设置密码)

将导出的文件复制到 Mac1

在 Mac1 上,钥匙串访问 -> 证书 -> iOS 分发证书(适用于您/您的公司)-> 删除(这是旧的不起作用)

在 Mac1 上,双击 p12 文件(然后输入您的密码)。

您应该会在钥匙串访问的证书部分看到一个新的 iOS 分发证书(适用于您/您的公司)。

这解决了我在 Mac1 上的问题。

【讨论】:

【参考方案13】:

通过删除由 Xcode 管理的配置文件解决了这个问题 (XC iOS Ad Hoc: *) 来自会员中心

【讨论】:

以上是关于Xcode 6 App Store 提交失败并显示“您的帐户已经拥有有效的 iOS 分发证书”的主要内容,如果未能解决你的问题,请参考以下文章

App Store 提交显示 Xcode 11 中的应用程序图标问题

Bundle ID 未列出 App store 连接新应用列表 (Xcode 11.4.1)

如果我安装了 OS X Yosemite 和 XCode 6 GM,我可以将应用程序提交到 App Store 吗?

在 4.2 中提交 App Store:XCode 提交验证中出现奇怪的“空白”错误

Xcode 9.3 无法将构建提交到 App Store

为 App Store 提交设置 iOS 版本(没有 Xcode !!!)