应用商店连接上传错误 "您尚未获得云管理分发证书的访问权限"

59

使用Xcode(自动管理签名)将iOS应用上传到App Store Connect时,收到以下错误:

Screenshot of Xcode error dialog

在定位和生成签名资产时出现了以下错误...

与苹果的通信失败。 您未被授予使用云管理分发证书的权限。请联系您团队的帐户持有人或管理员以授权您的访问权限。如果需要进一步帮助,请联系苹果开发者计划支持https://developer.apple.com/support

我已经检查过:

  • 证书已安装并有效
  • 我可以访问证书、标识符和配置文件
8个回答

83
如果您拥有管理员权限,您可以为任何具有开发人员角色的人启用此功能,方法如下:
1.进入App Store Connecthttps://appstoreconnect.apple.com/ 2.选择“用户和访问”选项卡 3.选择正确的人,并在“其他资源”下勾选以下两个选项:
- 访问证书、标识符和描述文件 - 访问云管理分发证书

AdditionalResources

如果您没有管理员权限,则必须向具有管理员权限的组织成员请求帮助。


1
谢谢,这似乎是问题所在。 - Rakshitha Muranga Rodrigo
这个有效了,我请求我的客户将我的账户角色更改为管理员以便更好地控制应用程序。 - dotrinh PM
重要警告!!!允许多个开发者账户访问云管理分发证书将会破坏旧版本构建,因为每次Xcode签名时都会考虑开发者的主机计算机来签署应用程序,如果私钥不同,则之前由另一个开发者编码的应用程序将开始失败。 - WilliamX
它还没有解决我的问题。我已经尝试在Xcode中注销我的Apple ID帐户并重新启动它,但仍然得到相同的错误。 - Danil
非常好的答案。它对我起作用了。 - Mister.Perfect
@WilliamX 你是从哪里得到这个信息的?能提供一个链接吗? - Anneress

22

证书已安装并有效。

但这并不重要。在Xcode 13中的新功能是,如果您选择自动签名,Apple会尝试进行基于云的签名;它甚至 看不到 您计算机上的证书。

但是您没有基于云的签名权限,所以它失败了。

您有两个选择:

  • 获取特权。这确实非常值得,因为基于云的签名很棒!它允许您从归档中分发到App Store Connect而根本不需要任何分发身份或分发证书。这完全解决了只能同时拥有一个分发证书的问题。

  • 切换到手动签名。现在将使用您计算机上的分发证书。显然,您还需要明确访问分发配置文件;整个导出重新签名将是手动的。如果您赶时间,这可能是最简单的方法。


但是,根据发布说明 ,它不应该仍然能够正常工作吗?其中提到:“[...]如果您的Mac上已安装了有效的分发签名证书和匹配的配置文件,则Xcode将使用这些证书进行本地签名,而不是使用云端签名。[...]”? - chkpnt
@chkpnt 很好的观点,但我的经验是他们并没有实际这样实现。虽然我可能错了。无论如何,我已经转向基于云的签名,我认为它很棒。 - matt
1
提示:如果您获得了云管理的开发者ID证书,并遇到新错误“配置文件不包括签名证书”,则可能需要从钥匙串中删除您的旧开发者ID证书。这将使Xcode使用云管理的证书,因为它已经帮助添加到生成的配置文件中。 - Tom Hamming
@TomHamming 不错,那可能是至关重要的。 - matt
我有两台机器。它们都安装了相同的操作系统版本、相同的Xcode版本和相同的证书,使用相同的私钥。其中一台(Intel Mac)可以上传构建文件,而另一台(M1 Mac)则会出现以下错误... - Daniel T.

2

我遇到了这个错误,因为必须在应用商店连接上接受新条件:enter image description here


这是对我有效的方法。你可以在应用商店连接上找到这条信息。 - Damia Fuentes

0
在我的情况下,两个账号(分别是管理员和开发者角色)属于同一团队,在Xcode的账号设置中登录。尽管开发者角色已经获得了云签名权限,并且Xcode构建设置已正确设置为自动签名,但错误仍然存在。
在设置中删除管理员账号后,错误不再出现,档案可以成功上传。也许当有两个已登录帐户都具有签名权限时,Xcode难以解决云签名问题。

0

我的问题与我的配置文件以及证书有关。

步骤1. 在 XCode 中创建一个新的证书 -> 首选项 -> + 按钮 步骤2. 转到苹果开发者门户。 https://developer.apple.com/account/resources/profiles/add 步骤3. 选择 iOS 应用程序开发,选择您命名的应用程序,然后选择在步骤1中创建的最新证书。

之后,我重新启动了 XCode,并选择手动而非自动签名,并将其设置为步骤3中刚创建的配置文件,用于调试和发布设置。


0

我遇到了这个问题。 该账户有权限,但无法导出。 尝试了很多方法后,最终可以给予账户管理权限,然后切换回开发者权限正常导出。 怀疑是云服务缓存问题。


0

没有人提到你需要一个“开发者ID”应用程序证书才能上传开发者ID的应用程序(或由苹果公证)。当我为一个相对新的开发者帐户开发时,我遇到了这个问题。因此,“开发者ID”尚未设置。您可以转到Xcode帐户,选择开发Apple ID帐户,然后选择“管理证书”。选择“开发者ID应用程序”证书。

这解决了我的问题。可能需要使用具有管理员或帐户持有者特权的帐户登录才能执行上述操作。这就是我所做的。


0
在某些情况下,即使完成了“开发人员角色”的步骤,错误消息仍然存在:
Go to App Store Connect
Select the "Users and Access" tab.
Select the correct person and under "Additional Resources" check both.
Access to Certificates, Identifiers & Profiles and
Cloud Managed Distribution Certificate Access.

管理员角色的角度来看,这是难以理解的,会导致一些猜测。但以下步骤可以达到目标:

  1. 开发者角色:关闭Xcode
  2. 管理员角色:暂时将用户角色从“开发者”更改为“管理员”
  3. 开发者角色:重新启动Xcode并再次开始验证/分发过程。它应该能够成功运行
  4. 开发者角色:关闭Xcode
  5. 管理员角色:将用户角色设置回“开发者”
  6. 开发者角色:重新启动Xcode并再次开始验证/分发过程。它应该能够成功运行

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接