iOS分发签名身份丢失

84
我错误地删除了Mac上所有的配置文件 (Library/Mobile Device/Provisioning Profiles)。现在,无论我做什么,Xcode都会给我这个错误:

缺少iOS分发签名标识

我该如何解决这个问题?

也许这可以帮助。https://dev59.com/tHNA5IYBdhLWcg3wWsUA#2241624 - stevestar888
1
检查我的答案!@Ibdakine - Balázs Vincze
1
只需WWDR,但两者都尝试! - Balázs Vincze
3
到底发生了什么事情?今天苹果是不是在毁掉所有人的钥匙链? - Nico S.
1
我也遇到了这个问题。已经下载了WWDRCA证书并安装在钥匙串中,但仍然存在相同的问题:( - sudoExclaimationExclaimation
显示剩余9条评论
7个回答

111

尽管我知道这不是你的问题,但这与过期的苹果证书完全相同 - 你现在是Bing搜索引擎排名第一的答案。

根据苹果开发者论坛的说法,Apple Worldwide Developer Relations Intermediate Certificate Expiration在2/14/2016到期。

......这个问题源于在您的系统和登录密钥串中都有一份已过期的WWDR Intermediate证书。为解决此问题,您应首先下载并安装新的WWDR intermediate证书(双击文件)。然后,在密钥串访问应用程序中,选择系统密钥串。确保在查看菜单中选择“显示已过期的证书”,然后删除过期的Apple Worldwide Developer Relations Certificate Authority Intermediate证书版本(于2016年2月14日过期)。现在,在密钥串访问中,您的证书应该显示为有效,并可供Xcode提交到应用商店。

enter image description here

您可以获得一个新的证书(将于2023年2月7日到期)。AppleWWDRCA.cer可在说明页面上找到:https://developer.apple.com/support/certificates/expiration/

顺便说一句:看起来这个新证书已经安装在Xcode 7.2.1中了。


替换 WWDR 对我解决了问题,感谢上帝我在 Stack Overflow 上找到了答案 :) - real 19
1
虽然这里的步骤很有道理,我现在也有了新的AppleWWDRCA文件,但我仍然遇到了这个问题。我一直在通过苹果开发者网站手动构建我的配置文件等 - 我需要重新创建任何/所有东西吗? - Chicowitz
1
不是的。在我重新启动电脑后,问题得到了解决。 - Chicowitz
2
对我来说起作用了。我只需要删除旧的,因为新的已经存在(可能是来自XCode 7.2.1?)。一旦它被删除,我重新启动Xcode,它就像魔法般地工作了。 - SkinnyG33k
只是想补充一下。今天我遇到了完全相同的问题。我检查了 Keychain,但是该证书甚至都不在里面。我下载并添加它就可以了。所以,作为一个补充,请检查这个证书是否在您的 Keychain 中。我不确定它是如何消失的。 - Jahoe
显示剩余3条评论

50

1
替换 WWDR 对我解决了问题,感谢上帝我在 Stack Overflow 上找到了答案 :) - real 19
1
从“系统”选项卡中删除过期证书解决了我的问题。典型的苹果烂摊子。 - alexgophermix
1
你必须下载新版本并删除旧版本,否则会持续出现错误。感谢指出如何查看过期证书!!! - MSU_Bulldog
我以前有XCode,但停止开发超过6个月了,现在我已经从“零开始”安装了XCode 7.3。前往WWDR,并仅安装证书对我有效。 - Motoko
运行得非常顺畅。 - Ras
显示剩余2条评论

13

显然,我遇到了与这个问题相同的情况,那里的答案也解决了我的问题! 即使我已经拥有了WWDR证书,重新添加到钥匙串中也解决了我的问题!

编辑:在执行此操作之前,这是我所做的:

  1. 退出xCode

  2. 进入钥匙串访问。删除所有名称中带有iOS的证书。对于密钥也要做同样的操作。

  3. 打开finder,按下Go并按下ALT,这将带来转到Library的选项。单击它,查找Mobile Devices -> 配置文件 -> 并从那里删除所有内容。

  4. 进入成员中心,并撤销您拥有的每个证书,删除所有现有的配置文件。

  5. 打开xCode,打开您的项目,在“常规”中选择您的团队,在其下面您将收到警告和一个按钮,上面写着“修复问题”,请单击该按钮。完成后,将应用程序构建到实际设备(而不是模拟器)上,并退出xCode。

  6. 进入成员中心,进入证书,您将看到xCode已创建一个新证书。下载并添加到钥匙串访问中。

  7. 添加WWDR到钥匙串访问中。

  8. 尝试打包,现在应该可以了!

注意:在构建设置中将代码签名设置为自动。


1
包括推送服务证书吗? - Ibdakine
1
好问题,我没有那些,所以不知道。我认为那些不重要,就让它们在那里。主要的事情可能是iOS分发证书。 - Balázs Vincze
1
嘿,Balazs。我太害怕“删除”我的配置文件了,所以一直在搜索并找到了这个链接。你是正确的,新证书必须下载,但旧证书只需按此处所述删除即可。底部答案是正确的答案。我对此发表了评论。再次感谢您的帮助!https://dev59.com/olsW5IYBdhLWcg3wHEDZ - Ibdakine
替换 WWDR 对我解决了问题,感谢上帝我在 Stack Overflow 上找到了答案 :) - real 19

9
它非常清楚。按照以下步骤删除过期证书并从此链接下载新证书即可。所有这些都在此页面上有详细说明。
如果您的系统和登录钥匙串中都有过期WWDR中间证书的副本,则您的证书可能会显示为无效,并且Xcode无法识别。要解决此问题,您首先应该下载并安装更新的证书。然后,在钥匙串访问应用程序中,选择系统钥匙串。在“查看”菜单中选择“显示已过期的证书”,然后删除Apple Worldwide Developer Relations Certificate Authority中间证书的过期版本。现在,您的证书应该在钥匙串访问中显示为有效,并可供Xcode使用。

8
这对我有用: 钥匙串访问 -> 查看 -> 显示已过期的证书
然后
钥匙串访问 -> 系统选项卡
找到已过期的“Apple Worldwide Developer Relations Certificate Authority”证书并删除。

我也试过,可以。 - syntagma

5

来自苹果公司 -

感谢您向社区提出这个问题,并为您所遇到的问题道歉。此问题源于在您的系统和登录钥匙串中都有过期的WWDR中间证书副本。要解决此问题,您应该首先下载并安装新的 WWDR 中间证书(双击文件)。接下来,在“钥匙串访问”应用程序中,选择“系统钥匙串”。确保在“查看”菜单中选择“显示已过期的证书”,然后删除已过期的 Apple Worldwide Developer Relations Certificate Authority Intermediate certificate 版本(已于2016年2月14日过期)。现在,在“钥匙串访问”中,您的证书应该显示为有效,并可供 Xcode 用于提交应用商店。

也回答了这个问题:https://dev59.com/dlwY5IYBdhLWcg3wQ16k#35401483


3

首先:下载并安装WWDR,下载链接在这里:https://developer.apple.com/support/certificates/expiration/

然后:在钥匙串访问中点击“查看”,选择显示已过期的证书,并在“登录”和“系统”选项卡中删除它们

最后:在Xcode上清除并构建项目

我使用上述方法创建ipa文件。希望对您有所帮助。


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