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

时间:2016-09-19 07:54:45

标签: ios iphone provisioning-profile ios10 xcode8

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

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

33 个答案:

答案 0 :(得分:162)

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

它表示您在"常规标签"中选择的配置文件不包含您在"构建设置"中选择的签名证书。 - > "代码签名身份"。

通常,如果在" Build settings"" Build settings"下为调试标识选择了分发证书,就会发生这种情况。 - > "代码签名身份"。

如果在" Signing(Debug)"它也可能是#34; Signing Identity" - > " iOS开发"未包含在配置文件中。

答案 1 :(得分:153)

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

enter image description here

删除没有私钥的匹配标识,Xcode会再次检测到正确的标识。

答案 2 :(得分:82)

要解决此问题,

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

希望这对其他人有帮助! enter image description here

答案 3 :(得分:46)

对于那些因某种原因不应该使用auotamatic的人

打开keyChain访问以查看是否有两个相同的认证,如果有两个或更多,只需删除一个,它将起作用:)

答案 4 :(得分:31)

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

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

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

答案 5 :(得分:27)

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

答案 6 :(得分:22)

为什么值得自动签名失败,直到我只是手动删除本地配置文件: 〜/ Library / MobileDevice / Provisioning Profiles

之后,自动签名工作得很好,并且从Apple的服务器获得了正确的配置文件。

这只影响了一些版本,特别是那些我为手表应用程序手动创建配置文件的版本。

答案 7 :(得分:16)

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

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

当我打开文件时,我发现我有两个iPhone发行证书(这是Xcode要求我的证书),一个是我从一开始就使用的iOS发布私钥,另一个是iPhone发行版其私钥具有名称(iOS分发:NAME)的证书对我来说并不熟悉。我删除了最后一个证书,再次启动Xcode,问题就消失了。 xCode无法解决该冲突,这就是为什么它一直在给出签名证书错误。

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

答案 8 :(得分:10)

您也可以使用优秀Fastlane toolkit来解决代码签名问题。作者投入了大量精力来有效地自动构建,签署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...

最后,转到构建设置 - >签名,并切换到新创建的配置文件,其名称只是在命令输出中看到的。

此示例用于开发代码签名问题(在设备上运行)。检查sigh documentation以获取所有其他选项。

答案 9 :(得分:7)

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

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

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

答案 10 :(得分:5)

就我而言,在钥匙串中,我有两个具有相同名称的证书,我删除了其中一个重复的证书,然后它解决了问题。

答案 11 :(得分:4)

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

答案 12 :(得分:4)

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

答案 13 :(得分:3)

有相同的错误。 配置文件似乎已更新,添加了新证书,我什至在下载时进行了检查。还吊销了以前的开发人员的证书,不包括在配置文件中。 但是Xcode仍然问我以前的证书错误:

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

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

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

希望它将对某人有帮助。

答案 14 :(得分:2)

问题似乎开始在 Xcode 11 中出现。

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

enter image description here

答案 15 :(得分:2)

对我来说,上述解决方案都没有奏效。我正在从两个较旧的mac迁移到一个新的mac,试图让Xcode上的发布/调试配置文件没有 Xcode自动管理它们。

我的解决方案是,当我去创建两个新证书时,我 ALSO 必须进入我的配置文件,并添加(在分发和开发下)新证书到供应配置文件如此认可。这样做之后&下载,xcode删除了所有错误,这很好。

希望这有助于某人!

答案 16 :(得分:2)

我还没有看到这提到但是如果您在重新创建配置文件后仍然遇到问题,请删除您在Provision Profiles文件夹中的现有文件,检查您的Keychain中的dupes等(所有其他答案ITT) ,打开你的目标>构建设置>代码签名并确保一切看起来一致。例如,我已将调试的代码签名标识更改为分发标识,这显然不起作用,因为开发调配配置文件没有分发证书并且首先导致错误。

答案 17 :(得分:2)

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

答案 18 :(得分:1)

我有同样的问题。 我改变了mac。当我下载Xcode证书时,您会收到一条错误消息:"错误是安全配置文件不包含证书签名。"

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

2)在Xcode中:项目文件=>签名(调试)=>供应资料=>导入个人资料=>选择1

的文件

答案 19 :(得分:1)

以下是为我解决的步骤(对于那些在XCode 9.2中遇到同样问题的人):

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

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

  3. 从Xcode中删除了开发者帐户并重新添加。

  4. 解决了我的问题! : - )

答案 20 :(得分:1)

我收到了Apple发来的一封电子邮件:

  

亲爱的John Doe,

     

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

     

证书:iOS开发

     

团队名称:Honey Team,LLC

     

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

     

致以最诚挚的问候,

     

Apple开发人员计划支持

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

解决方案是:

  • 登录Apple开发者帐户
  • 删除/撤消以我的名字创建的先前证书。
  • 证书添加到配置文件中。您可以在到期日之前识别新的
  • 再次从Xcode下载它们。 Xcode>>帐户>>下载所有个人资料
  • 重启Xcode

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

答案 21 :(得分:1)

这可能对您有帮助

iOS分发配置文件

场景:

另一个开发人员给了我证书。

我简单地安装了这个

错误:

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

不是完全正确的错误。

错误是私钥丢失

首选项->帐户->双击团队

enter image description here

致电开发人员以发送私钥。

并将其安装到本地

第二个解决方案

  • 创建新证书。

  • 编辑您现有的配置文件

  • 包括新证书

  • 保存并下载

答案 22 :(得分:0)

因为我还没有看到这个具体答案:

我的问题是我需要手动签名。所以我的错误是在Build Settings-> Code Signing-> Code Signing Identity

我已正确设置调试(自动签名样式和Apple开发证书),登台和发布(手动和Apple Distribution(adHoc)变体)。

我DIDNT正确设置的(由于我理解上的某些错误逻辑)是“ ANY IOS SDK”值。一旦将其设置为相同的手动Apple Distribution证书,错误就消失了。

最初,我将其设置为“自动值”“ iOS Distribution”,因为我不知道它的含义,因此会更好地自动处理。仍然不。哦,希望对您有帮助

答案 23 :(得分:0)

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

要找到它们:

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

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

The highlighted item was one key causing issues, deleting it solved issue

答案 24 :(得分:0)

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. 转到您的provisioning profile
  3. 检查是否选择了此证书

答案 25 :(得分:0)

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

解决
  1. 删除钥匙串中的所有iPhone Developer证书。
  2. 删除Apple帐户中的所有证书。
  3. 使用xcode“管理证书”添加证书,有时您的Mac中仍然有证书,但是我不知道它现在在哪里,如果添加成功,您的Apple帐户也会显示该证书,然后您可以使用该证书创建您的个人资料并下载... goto 5
  4. 如果您使用“管理证书”无法添加证书,则可以创建新证书,并保留其余步骤。
  5. 完成。

Code signing issue in Xcode version 8的答案相同。

答案 26 :(得分:0)

这是因为配置文件无法找到与其关联的证书的文件

修复:

  1. 检查哪个证书与您的配置文件相关联 点击“证书”,“标识符”和“证书”中的配置文件编辑。 Apple开发人员仪表板的配置文件部分
  2. 从信息中心下载证书
  3. 双击该文件以将其安装在您的钥匙串中
  4. 将文件拖入Xcode以确保链接
  5. 错误现在应该消失了。

答案 27 :(得分:0)

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

  1. 您应该已经在开发人员中心创建了一个证书,然后将该证书包含在您将导入XCode的供应配置文件中。
  2. 否则,如果您使用的是其他人创建的证书,那么请让他们共享/导出他们的证书&私钥(.p12文件)给你&你需要将它包含在你的钥匙串中。请参阅here
  3. 当您无法获得证书时,#2的解决方案&创建者的.p12文件只是选中“自动管理签名”选项。

答案 28 :(得分:0)

我正在努力奋斗很多天。

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

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

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

第4步: 清除〜/ Library / MobileDevice / Provisioning Profiles中的所有配置文件。

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

答案 29 :(得分:0)

尝试直接从会员中心下载证书/个人资料,而不是从Xcode进行。

当我从会员中心手动下载它时,它对我有用。

答案 30 :(得分:0)

我有同样的问题,原因是便士。在构建设置中选择了错误的配置文件和证书。我只在几天之前做过这件事。所以,你不需要启用"自动"在xcode里面。在执行之前检查构建设置中的配置文件。

答案 31 :(得分:0)

点击但随后取消"启用自动签名"为我工作,虽然它的实际变化是:

ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;

或在Xcode中称为Always Embed Swift Standard Libraries

答案 32 :(得分:-1)

在我的情况下,问题是在Xcode Beta 11.5上,对应用程序进行签名的方式发生了变化,因此只需确保正确设置了Debug / Release设置证书即可