Xcode - 帐户已拥有有效的iOS分发证书

16

我的开发团队最近在我们的Apple Developer账户中添加了一个新的分发证书。我已经下载了它,现在它已经在我的钥匙串中。然而,在Xcode中我收到了这个信息:

您在成员中心拥有有效的iOS分发证书,但本地未安装该证书。如果您的签名标识已安装在另一台Mac上,您可以在该Mac上导出开发者配置文件,并在此Mac上导入它。您还可以撤销当前证书并请求一个新证书。

当我进入“首选项 > 账户 > 查看详细信息”时,我只看到1个证书签名标识“iOS开发”。如何添加新的分发证书?我认为将其安装在我的钥匙串中就足够了。当我尝试将证书从我的钥匙串拖到“查看详细信息”部分的签名标识中时,它不起作用,因为我无法将其拖入那里。

我认为下载分发证书就足以使它像Xcode所说的那样“本地安装”,但显然这是没有效果的。任何帮助或建议将不胜感激。谢谢。


2
我已经下载了它,现在它在我的钥匙串中。这就是你需要的全部,因为Xcode可以查看你的钥匙串(除非你拒绝了它的权限)。你是否告诉账户详情进行刷新了? - matt
是的,我仍然只看到“iOS开发”证书显示出来。我怎么能检查是否拒绝了它访问我的钥匙串的权限? - Rafi
当我点击刷新时,会弹出一个窗口,上面写着:“找不到证书:在成员中心找不到以下证书。Xcode可以代表您提交证书签名请求。请选择您想要Xcode请求的证书。”除了Mac证书(我不需要),它列出了这些证书,我可以勾选:开发者ID应用程序证书和开发者ID安装程序证书。这些是我想要的吗?我不确定是否要请求这些证书,因为我不想搞砸任何东西 :( - Rafi
这可以帮助 https://dev59.com/o7Hma4cB1Zd3GeqPM4m-#59351864 - nikhilgohil11
3个回答

10

Xcode / Preferences / Accounts - 你的苹果ID是否是开发者团队的成员?在“账户”选项卡的右下角,团队名称下面会默认显示“(你的名字) (个人团队)”,但应该还有另一个选项“(你的团队名称)”。因此,如果你的团队名为“The Awesome Team”,则应选择“团队名称”下的“The Awesome Team”,而不是你的个人名称。

更新:
如何“选择团队名称”因Xcode的版本而异。
第一步是单击团队名称
然后再单击下面的一个按钮。在某个版本中,该按钮称为“显示详细信息..”。当我写这篇文章时,该按钮显示为“下载所有配置文件”。

另一种选择是双击团队名称。这应该会弹出一些对话框。

要验证所选团队是否正确,请退出Xcode,重新打开,再次转到“首选项/帐户”。

更新 #2:
在新版本的Xcode中,实际问题似乎是“自动管理签名”没有做出期望的选择。找到它并关闭它,然后选择所需证书。Sagar Mody的回答解释得更详细。


如果对其他人有效但对你无效,可能值得向他们询问他们在(1)浏览器中的成员中心-证书、配置文件、(2)Xcode / Preferences / 帐户、(3)查看其帐户的“查看详细信息”中看到了什么截图。最坏的情况是,让他们暂时更改密码,并尝试在你的计算机上使用他们的帐户,验证是否可以在他们登录时使一切正常。如果可以这样做,那么你的帐户设置不正确。尝试在成员中心或这些Xcode截图中找到差异。


2
我早就解决了这个问题,但你的答案在技术上是正确的。希望对其他遇到同样困境的人有所帮助。 - Rafi
3
这个“答案”仅描述了问题,没有提供解决方案。所以你的第一段描述了我的情况,我该怎么解决它?我如何让我的团队名称被选择而不是我的名字?需要投反对票。 - Fernando
@Fernando - 要选择团队名称,请单击它,然后单击上面写着“下载所有配置文件”的链接(在早期版本中,单击“查看详细信息..”链接)。根据Xcode版本/更新的不同,可能需要双击团队名称。对我来说,无论我上次访问哪个,下次都会保持活动状态。[还将此更新编辑到答案中。] - ToolmakerSteve
@Fernando - 我已经在我的回答中添加了“更新”和“更新#2”-那些中的任何一个“提供解决方案”吗? - ToolmakerSteve

1

@toolmakersteve上面的答案在技术上是正确的。

为了实现这一点,我禁用了“自动管理签名”,然后在Signing (Debug) / (Release)中选择“Eligible”包标识符。

https://develop.apple.com/accounts下载XC的Distribution Profile:(Eligible bundle identifier)。双击安装到Keychain Access中。

确保在Xcode下的“Signing Certificate”中显示“iPhone Distribution:(组织名称)”,而不是“iPhone Developer:(您/开发者名称)”

现在构建和归档,导出对我来说成功了。希望这也能解决你的问题。这真的很令人沮丧。


注意:如果有人在使用过程中遇到问题,可能还需要在钥匙串访问中删除旧的证书和密钥。也就是说,如果仍然无法正常工作,请删除当前不想使用的帐户或签名的证书和密钥(我不会一开始就这样做)。此外,请确保您正在尝试使用的帐户没有过时/过期的条目!确保Xcode只看到您想要使用的那个。 (如果您已关闭“自动管理签名”,并选择了所需的团队/组织,则不应该需要此操作,但如果必要,我将其提及为尝试的另一个步骤。) - ToolmakerSteve
据我所知,此答案中的“下载”步骤仅在所需选项未显示在“签名证书”下时才是必要的。因此,首先尝试禁用自动签名,并查看是否可以选择所需选项。如果没有,则需要单击“帐户/首选项/双击团队/组织名称”和/或单击它,然后单击“下载所有配置文件”按钮。如果仍然没有看到正确的证书选项,则必须手动执行Sagar描述的下载操作。 - ToolmakerSteve
你在哪里找到“自动管理签名”以便禁用它? - GreenAsJade
@GreenAsJade - 这里是一个苹果文档的链接,其中提到了“自动管理签名”。 - ToolmakerSteve

0

我花了很多时间寻找问题所在,我的担忧与众不同。

一切都配置得很好,所有证书都在本地以及预配文件中。

然而,Xcode Organizer 一直说我的新分发证书在我的钥匙串中不存在。

基本上,这个著名的分发证书在我的本地机器上没有受到信任。我必须通过以下步骤来信任它:https://support.apple.com/guide/keychain-access/change-the-trust-settings-of-a-certificate-kyca11871/mac#:~:text=In%20the%20Keychain%20Access%20app,from%20the%20pop%2Dup%20menus


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