Xcode 8显示配置文件不包含签名证书的错误


224

Xcode 8显示错误,即配置文件不包含签名证书。

Xcode-8仅与Xcode 7有关,此问题与显示与已识别证书相关的相同配置文件有关。


1
您需要a)使用所需的证书更新您的配置文件,或b)安装证书(如果您最初不是在Mac上设置的,则还可能需要使用私钥将其从其他mac迁移)
pedrouan

1
a)用所需的证书更新您的配置文件。-我已经这样做了,但是没有用b)安装证书-certificat已经安装,并且是在同一台计算机上创建的,因此我不需要导出任何密钥或其他东西。正如我所说,xcode 7在同一台机器上没有任何问题。这意味着安装没有任何问题
Satish Mavani

检查这一点,挺新鲜:stackoverflow.com/questions/39565906/...
pedrouan

Answers:


252

有很多方法可以解决此问题,例如启用自动签名等。但是,如果您想了解此错误的原因,则需要查看错误消息。

它说您在“常规”选项卡中选择的配置文件不包含在“构建设置”->“代码签名身份”中选择的签名证书。

通常,如果在“构建设置”->“代码签名身份”下为调试身份选择了分发证书,则会发生这种情况。

如果在“签名(调试)”下发生这种情况,则可能是预配配置文件中未包含“签名身份”->“ iOS开发”。


49
您先生是认证黑帮。
J.beenie

4
哇!这是对所提问题的实际答案。想知道为什么它不是公认的答案。谢谢先生 !
Junaid Mukhtar

1
每个聪明的开发人员都应该采用的聪明方法。
阿尔玛斯Adilbek

1
应该将其标记为已接受的答案,它解释了问题和解决方案,而不是随机产生了Xcode。
Andreas777 '18

1
那是一个绝妙的答案
罪人

186

检查您的钥匙串,以查找缺少私钥的身份。我为同一团队安装了多个分发证书,其中一个缺少私钥。Xcode仅检查钥匙串中的第一个匹配身份,并自动使用它而不是包含私钥的身份。

在此处输入图片说明

删除没有私钥的匹配身份会使Xcode再次检测到正确身份。


谢谢!究竟发生了什么事在这里
托马斯·卡尔蒙

9
没有为我解决问题。这很可能是由多个根本原因引起的问题之一。

3
我所有的证书都有私钥,因此原因可能完全不同。
RAM237

8
在我的情况下,登录钥匙串中有几个证书(=签名身份)具有相同的名称,但日期不同(请注意,在系统钥匙串中,我只有一个带有正确日期的证书)。除去所有正确的方法就可以解决问题。
RAM237

5
类似于@ RAM237,我有多个具有相同名称的证书,但仍附加有私钥。删除除正确选项外的所有选项均会有所帮助。
junjie

87

要解决此问题,

我只是在项目设置的“常规”选项卡上启用“自动管理签名”,在启用该功能之前,我担心它可能会产生一些副作用,但是一旦启用,该功能便对我有效。

希望这对其他人有帮助! 在此处输入图片说明


解决此问题,但出现此错误,“ <未知>:0:错误:Swift不支持SDK'iPhoneSimulator9.3.sdk'命令/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/ bin / swiftc失败,退出代码为1“
Mohsin Qureshi

1
您应该尝试重新启动模拟器并删除派生数据。
Satish Mavani

我尝试过,但是没用。它基本上是由于Alamofire而显示的。我认为Swift 3与Alamofire 3.0不兼容
Mohsin Qureshi

我曾经尝试过相同的方法,但是给我这个错误*设置设置冲突。*已自动签名进行开发,但是已手动指定了冲突的代码签名标识iPhone发行版。在构建设置编辑器中将代码签名标识值设置为“ iPhone Developer”,或在项目编辑器中切换为手动签名。
user3625547

22
最糟糕的想法是,让xcode处理您的证书会丢失所有配置。懒惰的混蛋Xcode只会生成新证书!
Silom

64

对于那些出于某种原因应继续使用非自动的人

打开keyChain Access来查看是否有两个相同的证书,如果有两个或多个,只需删除一个就可以了:)


这确实有帮助。
罗恩

如果有人在街上遇到这个人,请给他/她买啤酒。谢谢
Greg Hilston '18

2
在大街上看不见他/她,因为企鹅不在大街上,而是在海上。顺便说说。谢谢。
MRizwan33 '18

对我来说就是这样:)
slippytoad

34

最近将Xcode更新到9.3版后,我遇到了这个问题。问题出在代码签名(在调试下)证书被设置为发行证书而不是开发证书,因此这使我无法在设备上安装该应用程序。

这是我为解决此问题所做的工作。

项目->目标->选择您的应用->构建设置->代码签名身份->调试->双击“ iPhone发行版”并将其更改为“ iPhone开发者”。


这很简单,但为此苦了一段时间。谢谢你,先生。
JM-AGMS

大。它工作完美。为什么这不是正确的答案?
郑戈车

27

我未选中,然后选中了“自动管理签名”选项。这为我解决了。


出现一个对话框,询问我是否要启用自动签名。即使我点击了取消,它仍然有效。
aepryus

@JamesWierzba,它在常规->签名中。就像上面的Satish Maven的回答一样。
洛克

最佳答案
bubibu

此外,只需在不同配置文件之间切换即可解决该问题。您可能还必须根据上一个答案先清理键。
MindWire '17

23

值得一提的是,每次自动签名都失败,直到我手动删除了以下位置的本地配置文件:〜/ Library / MobileDevice / Provisioning Profiles

在那之后,自动签名完美地工作了,它从苹果的服务器上获得了正确的配置文件。

这仅影响某些构建,特别是那些我手动为watch app创建配置文件的构建。


2
对我来说,没有重复项,但是删除并重新下载我的配置文件后,它似乎可以正常工作。
朱利安K

2
我尝试了所有其他方法,但在删除现有配置文件并让Xcode重新下载它们之前
无济于事

1
抱歉,我该如何访问〜/ Library / MobileDevice / Provisioning个人资料?我在搜索器中搜索,找不到任何“库”文件夹。
陈李勇

1
@ChenLiYong那是一个隐藏的文件夹。按此CMD + Shift + . 按钮显示所有隐藏文件。
tmuecksch

19

对于那些仍在Xcode8中解决此问题的人。对我来说是一个重复的证书问题,这是我解决的方法:

我读了尼克的答案,然后开始调查。我检查了特定情况下的所有密钥和证书(在〜/ Library / Keychains / System.keychain内部)。

打开文件时,我发现我有两个iPhone分发证书(这是Xcode要求我提供的证书),一个带有我自开始就一直使用的iOS分发私钥,另一个带有它的iPhone分发证书。私钥的名称(iOS Distribution:NAME)我不熟悉。我删除了最后一个证书,再次启动Xcode,问题消失了。xCode不能解决该冲突,这就是为什么它始终出现签名证书错误的原因。

检查您的钥匙串,也许您有重复的证书。


我到底发生了什么
funct7

这正是我的问题,我在设置Fastlane Match时感到困惑,最终在我的钥匙串中有3个重复的钥匙
Minh Thai

18

如果您使用手动签名(我肯定会鼓励),则可能会发生此错误,因为Xcode认为应该使用开发人员证书对发布版本进行签名,该证书显然不包含在发布设置配置文件中。

有一个构建设置,用于定义应将哪种证书用于哪种构建配置。要更改它,请转到构建设置并搜索“ 代码签名身份”。扩展后,每个构建配置(通常是Debug和Release)应该有单独的行,并在第二栏中显示其选定的身份(通常是iOS Developer或iOS Distribution)。确保为每个构建配置将其设置为正确的标识。

在某些情况下,还可以扩展构建配置。确保其子项也设置为正确的标识。


2
完美的答案
Nasir

1
谢谢!正是我所需要的。
阿玛杜·卡瓦坎特·菲略(Amadeu Cavalcante Filho)

12

您也可以使用出色的Fastlane工具包解决代码签名问题。作者付出了巨大的努力来有效地自动化构建,签署iOS应用程序(以及更多)。

因此,在上述套件中,有一个工具sigh可以神奇地解决任何签名问题,因此得名:)这里很好的是,该工具封装了有关常见签名问题的知识,并且可以检测并解决其中的大多数问题。

Fastlane作为Ruby gem安装:

gem install fastlane

然后简单地调用:

fastlane sigh --development

回答两个问题,瞧:

[11:56:55]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[11:57:01]: Creating new provisioning profile for 'com.myapp' with name 'com.myapp Development'
[11:57:06]: Downloading provisioning profile...
[11:57:09]: Successfully downloaded provisioning profile...
[11:57:09]: Installing provisioning profile...

最后,转到Build Settings-> Signing,然后切换到刚刚在命令输出中看到的名称的新创建的配置文件。

本示例用于开发代码签名问题(在设备上运行)。查看叹气文档以了解所有其他选项。


阅读了“ 构建设置”部分后,我意识到我可以选择配置文件正在使用的证书。谢谢。
卡洛斯·利纳雷斯

12

发生了同样的错误。配置文件似乎已更新,添加了新证书,我什至在下载时进行了检查。还吊销了前开发商的证书,不包括在供应资料中。但是Xcode仍然向我询问有关先前证书的错误:

No certificate for team 'MY_TEAM' matching 'iPhone Developer: FORMER_DEVELOPER' found

所以,我做了什么来解决它:

  1. 转到Build Settings-> Signing->Code Signing Identity
  2. 查找所有“ FORMER_DEVELOPER”证书,然后选择所需。

希望它能帮助到别人。


非常感谢..它帮助我解决了我的问题
Gokul G


5

“启用自动签名”,然后从下拉菜单中选择一个团队,帮助我解决了这个确切的问题。


4
  1. 删除没有私钥的开发人员证书。
  2. 使用转到文件夹(〜/ Library / MobileDevice / Provisioning Profiles)从计算机中删除配置文件。
  3. 然后,首先检查,然后取消选择团队中项目设置中的“自动管理签名”选项。
  4. 使用Apple开发人员帐户唱歌并编辑配置文件,选择所有可用的开发人员证书,然后下载并添加到XCODE。
  5. 在项目构建设置中选择配置文件和代码签名身份

4

Xcode 11

这是我得到的错误

供应配置文件“ XXX”不包括签名证书“​​ Apple Development:XXX(XXX)”。

现在,Xcode 11自动创建了一个证书“ Apple Development:XXX”,该证书对所有平台均有效

https://developer.apple.com/account/resources/certificates/list

你只需要

  1. 转到https://developer.apple.com
  2. 转到您的配置文件
  3. 检查是否选择了此证书

4

我已经撤消了证书中剩余的私钥,证书消失了,但是私钥却没有。删除它们可以解决问题。

要找到它们:

  1. 开放式钥匙串访问
  2. 点击左侧菜单类别下的“键”
  3. 寻找没有相关证书的iOS开发者:...”键
  4. 我删除了它们,问题消失了

图片中突出显示的密钥是没有证书的示例私钥。

高亮显示的项目是引起问题的一个关键因素,将其删除即可解决问题


3

我也有同样的问题。我换了Mac。当我下载Xcode证书时,收到一条错误消息:“错误是安全配置文件不包含证书签名。”

1)转到https://developer.apple.com/account/ios/profile/limited/edit 选择项目=>编辑=>证书=>全选=>创建=>下载

2)在Xcode中:项目文件=>签名(调试)=>供应配置文件=>导入配置文件=>选择1的文件


2

对我而言,以上解决方案均无效。我正在从两台旧Mac迁移到一台新Mac,试图在Xcode上使用发布/调试配置文件,而没有 Xcode自动管理它们。

对我来说,解决办法是,当我去,并创建了两个新的证书,我ALSO不得不进入我的预置描述文件,并添加新的证书到供应配置文件,以便认出了他们(分销和开发都下)。完成此操作并下载后,xcode消除了所有错误,一切顺利。

希望这对某人有帮助!


2

我收到了来自Apple的以下电子邮件之一:

尊敬的John Doe,

以下证书已被您的开发团队的成员吊销或已过期:

证书:iOS开发

团队名称:Honey Team,LLC

这不会影响您已提交到App Store的应用程序或您更新应用程序的能力。如果您正在使用包含此证书的配置配置文件,则必须重新创建它们才能重新使用它们。有关详细信息,请参见Xcode帮助中的“应用程序签名概述”部分。

最好的祝福,

Apple开发人员计划支持


我创建了一个新证书,该证书撤销了以前的证书(在本地和任何其他开发人员的Mac上)。为了使其正常工作,我必须下载新的配置文件。

解决方案是:

  • 登录到Apple开发者帐户
  • 删除/撤销以我的名字创建的以前的证书。
  • 证书添加到配置文件中。您可以通过它们的到期日期来识别较新的
  • 再次从Xcode下载它们。Xcode >>帐户>>下载所有配置文件
  • 重新启动Xcode

我个人没有这种访问权限。此访问权限仅对我们团队的管理员可用,因此我没有屏幕截图,也不确定这些步骤是否100%正确。


2

我还没有看到此消息,但是如果您在重新创建配置文件,删除Provisioning Profiles文件夹中现有的文件,在钥匙串中检查重复项等之后仍然遇到问题,请打开您的目标>构建设置>代码签名,并确保其中的所有内容保持一致。例如,我已将用于调试的代码签名标识更改为分发标识,这显然不起作用,因为开发配置概要文件没有分发证书,并且首先导致了错误。


谢谢!-就我而言,在“目标”>“构建设置”>“代码签名身份”>“发行版”下设置为iOS Developer,而不是iOS发行版。
Fiach Reid

2

如果您尝试将应用程序上载到iTunes Connect(您的“供应配置文件”设置为“分发”),请转到“项目设置”->“构建设置”->“代码签名”。确保将所有“调试和发布选项”设置为“分发配置设置配置文件”。


2

这个问题似乎开始在Xcode 11中发生。

  • 前往 Apple Developer
  • 查找正确的配置文件
  • 按右上角的编辑
  • 在证书中选择(分发)选项。(我认为这是苹果公司引入的一种新的选项/证书类型,尽管我找不到任何文档)
  • 可选:在(〜/ Library / MobileDevice / Provisioning Profiles /)中删除您所有的配置文件,
    请转到Xcode->首选项->帐户->下载手动配置文件

在此处输入图片说明


不为我工作。
Shourob Datta

1

这是为我解决的步骤(对于那些在XCode 9.2中面临相同问题的人):

  1. 只需在〜/ Library / MobileDevice / Provisioning Profiles中手动删除本地配置文件。

  2. 从开发人员帐户中删除并创建了所有证书和配置文件。

  3. 从Xcode中删除了开发人员帐户,然后重新添加了它。

解决了我的问题!:-)


0

单击但随后取消“启用自动签名”对我有用,尽管它所做的实际更改是:

ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;

或在Xcode中被称为 Always Embed Swift Standard Libraries


0

我有同样的问题,原因是一分钱。在构建设置中选择了错误的配置文件和证书。我只是几天前才做的。因此,您无需在xcode中启用“自动”功能。在执行之前,请检查构建设置中的配置文件。


0

尝试直接从会员中心下载证书/配置文件,而不是从Xcode下载。

当我从会员中心手动下载它们时,它为我工作。


0

我一直在努力挣扎。

步骤1:从开发者帐户中删除每个证书,配置文件,appID,密钥等。

步骤2:重新创建推送通知证书,供应配置文件,应用ID等。

步骤3:从钥匙串中删除所有证书。

步骤4:从〜/ Library / MobileDevice / Provisioning Profiles中清除所有供应配置文件。

步骤5:仅添加所需的配置文件并进行了测试。它工作正常。


0

这意味着您需要执行以下任一操作:

  1. 您应该已经在开发人员中心创建了一个证书,然后将该证书包含在您将导入XCode的Provisioning Profile中。
  2. 否则,如果您使用别人创建的证书,请让他们与您共享/导出其证书和私钥(.p12文件),并且您需要将此证书包含在钥匙串中。请参考这里

如果无法从创建者那里获取证书和.p12文件,则对#2的解决方案是仅选中“自动管理签名”选项。


0

发生这种情况是因为供应配置文件找不到链接到的证书的文件

修理:

  1. 通过单击Apple Developer仪表板的“证书,标识符和配置文件”部分中的配置文件上的编辑,来检查哪个证书链接到您的配置文件
  2. 从仪表板下载证书
  3. 双击文件以将其安装在钥匙串中
  4. 将文件拖到Xcode中以确保已链接

该错误现在应该消失了。


0

此问题是由于个人资料中证书中的私钥与钥匙串中的私钥不匹配。我通过解决这个

  1. 删除钥匙串中的所有iPhone Developer证书。
  2. 删除苹果帐户中的所有证书。
  3. 使用xcode“管理证书”添加证书,有时您的Mac中仍然有证书,但是我不知道它现在在哪里,如果添加成功,您的Apple帐户也会显示该证书,然后您可以创建自己的证书带有该证书的配置文件并下载... goto 5
  4. 如果您使用“管理证书”无法添加证书,则可以创建新证书,并继续执行步骤。
  5. 完。

Xcode版本8中的代码签名问题相同的答案。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.