xcode 缺少 iOS 分发签名标识

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/35398083/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-08 18:16:20  来源:igfitidea点击:

Missing iOS Distribution signing identity

xcodecode-signing-certificate

提问by Balázs Vincze

I deleted all my provisioning profiles from my Mac by mistake (Library/Mobile Device/Provisioning Profiles). Now, no matter what I do, Xcode gives me this error:

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

Missing iOS Distribution signing identity

缺少 iOS 分发签名标识

How can I fix this?

我怎样才能解决这个问题?

回答by Paul Sturm

This is the same exact error for an expired Apple cert - though I know it's not your issue, you're the #1 answer on Bing at the moment.

这与过期的 Apple 证书完全相同 - 尽管我知道这不是您的问题,但您目前是 Bing 上的第一答案。

According to the Apple Developer Forums, the Apple Worldwide Developer Relations Intermediate Certificate Expiration expired 2/14/2016.

根据 Apple Developer Forums 的说法,Apple Worldwide Developer Relations Intermediate Certificate 到期日期为 2/14/2016。

... This issue stems from having a copy of the expired WWDR Intermediate certificate in both your System and Login keychains. To resolve the issue, you should first download and install the new WWDR intermediate certificate (by double-clicking on the file). Next, in the Keychain Access application, select the System keychain. Make sure to select “Show Expired Certificates” in the View menu and then delete the expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate (expired on February 14, 2016). Your certificates should now appear as valid in Keychain Access and be available to Xcode for submissions to the App Store.

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

enter image description here

在此处输入图片说明

You can get a new cert (which expires February 7, 2023). The AppleWWDRCA.cer is available on the explanation page: https://developer.apple.com/support/certificates/expiration/

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

BTW: it appears this new cert is installed with Xcode 7.2.1

顺便说一句:看来这个新证书是用 Xcode 7.2.1 安装的

回答by Evana

Check here: https://forums.developer.apple.com/thread/37208

在这里查看:https: //forums.developer.apple.com/thread/37208

Download https://developer.apple.com/certificationauthority/AppleWWDRCA.cerand double-click to install to Keychain.

下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer并双击安装到 Keychain。

Select "View" -> "Show Expired Certificates" in Keychain app.

在钥匙串应用程序中选择“查看”->“显示过期证书”。

Remove Apple Worldwide Developer Relations Certificate Authority certificates from "login" tab and "System" tab in Keychain app.

从 Keychain 应用程序的“登录”选项卡和“系统”选项卡中删除 Apple Worldwide Developer Relations 证书颁发机构证书。

回答by Balázs Vincze

Apparently, I was having the same issue as thisquestion, the answer there solved my problem too!! Even though I had my WWDR certificate, re adding to the keychain solved my problem!

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

EDIT:Before doing this, here is what I did:

编辑:在这样做之前,这是我所做的:

  1. Exit xCode

  2. Go to Keychain Access. Delete every certificate which has iOS in it's name. Do the same for keys as well.

  3. Open up finder, press Go and press ALT, this will bring up the option to go to your Library. Click on that, find Mobile Devices -> Provisioning Profiles -> and delete everything from there.

  4. Go to Member Center and revoke every certificate you have, delete all existing provisioning profiles.

  5. Open xCode, open your project and in General select your team, under it you will get a warning and a button which says fix issue, click on that. After it is done, build your app to a real device(not simulator) and exit xCode.

  6. Go to Member Center and go to Certificates, you will see that xCode has created a new one. Download that, and add it to your Keychain Access.

  7. Add WWDR to Keychain Access.

  8. Try archiving, it should work now!

  1. 退出 xCode

  2. 转到钥匙串访问。删除名称中包含 iOS 的所有证书。对键也做同样的事情。

  3. 打开 finder,按 Go 并按 ALT,这将显示前往您的图书馆的选项。单击它,找到移动设备 -> 配置文件 -> 并从那里删除所有内容。

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

  5. 打开 xCode,打开你的项目,然后选择你的团队,在它下面你会收到一个警告和一个按钮,上面写着修复问题,点击它。完成后,将您的应用程序构建到真实设备(不是模拟器)并退出 xCode。

  6. 转到会员中心并转到证书,您将看到 xCode 创建了一个新证书。下载它,并将其添加到您的钥匙串访问中。

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

  8. 尝试存档,它现在应该可以工作了!

Note:In Build Settings set code signing to automatic.

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

回答by George Mylonas

It says very clearly. I just had to delete expired certificate as described below and download new one from this link. It is all described on this page.

它说得很清楚。我只需要删除过期的证书,如下所述,并从此链接下载新证书。这一切都在此页面上进行了描述。

What should I do if Xcode doesn't recognize my distribution certificate? If you have a copy of the expired WWDR Intermediate certificate in both your System and Login keychains within the Keychain Access application, your certificates may appear as invalid and not be recognized by Xcode. To resolve the issue, you should first download and install the renewed certificate. Next, in the Keychain Access application, select the System keychain. Select 'Show Expired Certificates' in the View menu and then delete the expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate. Your certificates should now appear as valid in Keychain Access and be available to Xcode.

如果 Xcode 无法识别我的分发证书,我该怎么办?如果您在 Keychain Access 应用程序中的系统和登录钥匙串中都有过期的 WWDR 中间证书的副本,则您的证书可能会显示为无效并且无法被 Xcode 识别。要解决此问题,您应该首先下载并安装更新的证书。接下来,在 Keychain Access 应用程序中,选择 System keychain。在“查看”菜单中选择“显示过期证书”,然后删除 Apple Worldwide Developer Relations 证书颁发机构中间证书的过期版本。您的证书现在应该在 Keychain Access 中显示为有效并可用于 Xcode。

回答by Farhad Malekpour

This worked for me: Keychain Access -> View -> Show Expired Certificates

这对我有用:钥匙串访问 -> 查看 -> 显示过期证书

then

然后

Keychain Access -> System tab

钥匙串访问 -> 系统选项卡

Locate the EXPIRED"Apple Worldwide Developer Relations Certificate Authority" certificate and delete it.

找到过期的“Apple Worldwide Developer Relations Certificate Authority”证书并将其删除。

回答by Sam

From Apple -

来自苹果——

Thanks for bringing this to the attention of the community and apologies for the issues you've been having. This issue stems from having a copy of the expired WWDR Intermediate certificate in both your System and Login keychains. To resolve the issue, you should first download and install the new WWDR intermediate certificate(by double-clicking on the file). Next, in the Keychain Access application, select the System keychain. Make sure to select “Show Expired Certificates” in the View menu and then delete the expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate (expired on February 14, 2016). Your certificates should now appear as valid in Keychain Access and be available to Xcode for submissions to the App Store.

感谢您将此问题提请社区注意,并对您遇到的问题表示歉意。此问题源于在您的系统和登录钥匙串中都有过期的 WWDR 中间证书的副本。要解决此问题,您应该首先下载并安装新的WWDR 中间证书(通过双击该文件)。接下来,在 Keychain Access 应用程序中,选择 System keychain。确保在“查看”菜单中选择“显示过期证书”,然后删除过期版本的 Apple Worldwide Developer Relations Certificate Authority Intermediate 证书(2016 年 2 月 14 日过期)。您的证书现在应该在 Keychain Access 中显示为有效,并且可供 Xcode 提交到 App Store。

Also answered at https://stackoverflow.com/a/35401483/921358

也在https://stackoverflow.com/a/35401483/921358回答

回答by AmyNguyen

First: down and install WWDR in here https://developer.apple.com/support/certificates/expiration/Then: In Keychain Access click View and select show expired Certificates and delete them on login and System tab Finally: Clear and Build project on Xcode

首先:在此处安装 WWDR https://developer.apple.com/support/certificates/expiration/然后:在钥匙串访问中单击查看并选择显示过期证书并在登录和系统选项卡上删除它们最后:清除并构建项目在 Xcode 上

I uesed above ways to create ipa file. Hope help you.

我使用上述方法来创建 ipa 文件。希望能帮到你。