Xcode 6应用程序商店提交失败,“您的帐户已经有一个有效的 iOS 分发证书”

我正在使用最新的 XCode (6.1) ,我需要尽快提交应用程序,但我似乎无法避免“您的帐户已经有一个有效的 iOS 发行证书”错误。

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

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

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

84081 次浏览

我还遇到了这个问题,原因是试图使用开发供应配置文件而不是分发配置文件导出临时部署。Xcode 6.1似乎不再支持这一点。一旦我创建了一个特别的配置文件并安装了它,问题就解决了。一个更有用的错误消息将节省我的工作时间,并将非常感谢,苹果。

这个帖子很有帮助:

Xcode 6 beta 2导出 ipa 的问题“您的帐户已经有一个有效的 iOS 发行证书”

在开发者会员中心用 编辑 iOS 分发供应配置文件解决了这个问题。

由于某种原因,分发配置概要文件有2个证书可供选择。我可以验证和提交我的存档构建进行测试。

因此,您可能有多个用于签名供应配置文件的证书。确保你有一个正确的选择(通过尝试所有的方法) ,希望这个方法可以奏效。

我尝试了很多事情,比如从 Xcode 帐户导出开发人员配置文件,并将其导入到组织者中,从成员中心安装供应配置文件,将它们添加到我的密钥链中。但这些都不管用。它只有在手动编辑适当的配置文件之后才开始工作。

您还可以尝试删除所有可用的供应配置文件,并让 Xcode 为您创建新的配置文件。这个也可以。

造成这个问题的另一个可能原因(至少在我的例子中)是,在我的 Keychain Access 中,我有两个与我一起工作的团队的证书。一个过期了,另一个是我想用的。删除 Keychain Access 中过期的证书解决了这个问题。

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

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

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

picture showing the revoked cert message

您可以从创建 并将其导入到其他团队成员的密钥链中。

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

当我面临这个问题的时候,我搬到了新的 Mac。 在你的老 Mac 上:

  1. 转到 Preferences > Accounts > Select Account > Details
  2. 在下拉菜单中右键单击 iOS Distribution(或者您的发行证书的名称)。
  3. Export...
  4. .p12文件设置密码。
  5. 在新的 Mac 中移动并安装这个 .p12
  6. Try Again.

今天我解决的问题是删除从密钥链旧证书 苹果全球开发者关系认证机构和安装新的(例如在2023年)

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

当我不小心在另一台 Mac 上重置证书时,这种情况发生在我身上。

Mac1-有工作证书。

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

Mac1停止工作,我得到一条消息“ Your account already has a validdistribution certificate”

解决办法是

  • 在 Mac2上,Keychain access-> 凭证-> iOS 分发凭证(针对您/您的公司)-> 导出到 p12文件(它会要求您设置密码)

  • 将导出的文件复制到 Mac1

  • 在 Mac1上,Keychain access-> 凭证-> iOS 分发证书(针对您/您的公司)-> delete (这是不能使用的旧版本)

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

您应该在 Keychain 访问的证书部分中看到一个新的 iOS 发行证书(针对您/您的公司)。

这修复了我在 Mac1上的问题。

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

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

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

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

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

我最近换了电脑。 对我来说,原因是我在苹果开发者会员门户网站上有几个开发者证书。 解决办法是:

  • 登录苹果开发者门户网站
  • 证书-> 制作
  • 单击“ 撤销”查找最古老的证书,并保留最新的证书

撤销证书不会影响您的苹果商店应用程序:)。

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