【问题标题】:Xcode 8 shows error that provisioning profile doesn't include signing certificateXcode 8 显示配置文件不包含签名证书的错误
【发布时间】:2017-01-26 20:07:13
【问题描述】:

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

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

【问题讨论】:

  • 您需要 a) 使用所需证书更新您的配置文件或 b) 安装证书(如果最初未在你的苹果电脑)
  • a) 使用所需的证书更新您的配置文件。 - 我已经这样做了,但没有工作 b) 安装证书 - 证书已经安装,并且是在同一台机器上创建的,所以我不需要导出任何密钥或其他东西。正如我所说,同一台机器上的 xcode 7 没有任何问题。这意味着安装没有任何问题
  • 检查一下,很新鲜:stackoverflow.com/questions/39565906/…

标签: ios iphone xcode8 provisioning-profile


【解决方案1】:

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

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

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

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

【讨论】:

  • 你先生是个合格的黑帮。
  • 哇!这是所问问题的实际答案。想知道为什么它不是公认的答案。谢谢先生!
  • 每个聪明的开发者都应该有的聪明方式。
  • 这应该被标记为接受的答案,它解释了问题和解决方案,而不是随机的 Xcode 生成。
  • 这就是真正的概念解决问题的方式。 (3)
【解决方案2】:

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

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

【讨论】:

  • 谢谢!到底发生了什么
  • 没有为我解决问题。这可能是由多个根本原因引起的问题之一。
  • 我所有的证书都有私钥,所以原因肯定是不同的。
  • 在我的情况下,login 钥匙串中有几个证书(=签名身份)具有相同的名称,但日期不同(注意在 System 钥匙串中我只有一个日期正确的)。删除除正确的以外的所有内容就可以了。
  • 与@RAM237 类似,我有多个同名证书,但仍附有私钥。删除除正确的以外的所有内容都有帮助。
【解决方案3】:

要解决这个问题,

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

希望这对其他人有所帮助!

【讨论】:

  • 解决了这个问题但是得到了这个错误,“:0: error: Swift does not support the SDK 'iPhoneSimulator9.3.sdk' Command /Applications/Xcode.app/Contents/Developer/ Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc 失败,退出代码为 1"
  • 您应该尝试重新启动模拟器并删除派生数据。
  • 我试过了,但没用。它基本上是由于 Alamofire 而显示的。我认为 swift 3 与 Alamofire 3.0 不兼容
  • 我也试过了,但是给我这个错误 * 有冲突的配置设置。 * 为开发自动签名,但手动指定了冲突的代码签名身份 iPhone Distribution。在构建设置编辑器中将代码签名标识值设置为“iPhone Developer”,或者在项目编辑器中切换到手动签名。
  • 最糟糕的主意,让 xcode 处理您的证书会丢失所有配置。懒惰的混蛋 Xcode 只会生成新证书!
【解决方案4】:

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

打开keyChain Access,看看是否有两个相同的Certifications,如果有两个或多个,删除一个就可以了:)

【讨论】:

  • 感谢好友它成功了。
  • 我在寻找什么类型的证书?
【解决方案5】:

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

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

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

【讨论】:

  • 这很简单,但为此苦苦挣扎了一段时间。谢谢你,好心的先生。
  • 太棒了。它工作完美。为什么这不被接受为正确答案?
【解决方案6】:

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

【讨论】:

  • 出现一个对话框,询问我是否要启用自动签名。即使我点击取消,这仍然工作。
  • @JamesWierzba 一般->签名。就像上面 Satish Maven 的回答一样。
  • 最佳答案
  • 另外,只需在不同的配置文件之间切换即可解决此问题。您可能还必须根据上一个答案先清理密钥。
  • 确实! @bubibu 目前我最喜欢的 SO 答案。
【解决方案7】:

值得每次自动签名失败,直到我手动删除了本地配置文件: ~/Library/MobileDevice/Provisioning Profiles

之后,自动签名完美运行,并从 Apple 的服务器获取了正确的配置文件。

这仅影响了一些构建,尤其是我为手表应用手动创建配置文件的构建。

【讨论】:

  • 对我来说,我没有重复,但删除并重新下载我的配置文件后,它似乎工作正常。
  • 我尝试了其他所有方法,但在删除现有配置文件并让 Xcode 重新下载它们之前没有任何效果
  • 抱歉,我如何访问这个 ~/Library/MobileDevice/Provisioning Profiles ?我在 finder 上搜索,找不到任何“Library”文件夹。
  • @ChenLiYong 那是一个隐藏文件夹。按CMD + Shift + .显示所有隐藏文件。
  • @ChenLiYong 使用 Go 菜单(在 Finder 中)中的“Go to Folder...”并粘贴到“~/Library/MobileDevice/Provisioning Profiles”
【解决方案8】:

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

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

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

【讨论】:

  • 完美答案,
  • 谢谢!这正是我所需要的。
【解决方案9】:

有同样的错误。 配置文件似乎更新了,添加了新证书,我什至在下载时检查了它。还撤销了前开发人员的证书,从配置文件中排除。 但是 Xcode 仍然向我询问以前的错误证书:

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

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

  1. Build Settings -> Signing -> Code Signing Identity
  2. 找到所有“FORMER_DEVELOPER”证书并选择需要。

希望它会帮助别人。

【讨论】:

  • 这是这里唯一真正的解决方案。
  • 在互联网上寻找解决方案 4 小时后唯一对我有用的解决方案。
  • 这很好用。始终检查 - 代码签名身份
【解决方案10】:

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

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

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

检查你的钥匙串,也许你有一个重复的证书。

【讨论】:

  • 正是发生在我身上的事情。
  • 这正是我的问题,我在设置 Fastlane Match 时感到困惑,最终在我的钥匙串中有 3 个重复的钥匙
【解决方案11】:

您还可以使用出色的 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...

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

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

【讨论】:

  • 在阅读了 Build Settings 部分后,我意识到我可以选择分析使用的证书。谢谢。
【解决方案12】:

在我的情况下,在钥匙串中我有两个同名证书,我删除了其中一个重复的证书然后它解决了问题。

【讨论】:

  • 可以确认,这也是我的问题。
【解决方案13】:

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

【讨论】:

    【解决方案14】:

    我已撤销证书中的剩余私钥,证书不见了,但私钥没有。删除它们解决了问题。

    要找到它们:

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

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

    【讨论】:

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

      【讨论】:

        【解决方案16】:

        Xcode 11

        这是我得到的错误

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

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

        你只需要

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

        【讨论】:

          【解决方案17】:

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

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

          【讨论】:

            【解决方案18】:

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

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

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

            【讨论】:

              【解决方案19】:

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

              我的问题是我需要手动签名。所以我的错误是在构建设置-> 代码签名-> 代码签名身份

              我的调试(自动签名样式和 Apple 开发证书)、暂存和发布(手动和 Apple 分发 (adHoc) 变体设置正确。

              我没有正确设置(由于我理解的一些有缺陷的逻辑)是“ANY IOS SDK”值。一旦我将它设置为相同的手动 Apple 分发证书,错误就消失了。

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

              【讨论】:

                【解决方案20】:

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

                对我来说,解决方案是,当我创建两个新证书时,我ALSO 必须进入我的配置文件,并(在分发版和开发版下)添加新证书到配置文件如此识别它们。完成此操作并下载后,xcode 删除了所有错误,一切顺利。

                希望这对某人有所帮助!

                【讨论】:

                  【解决方案21】:

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

                  亲爱的 John Doe,

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

                  证书:iOS 开发

                  团队名称:Honey Team, LLC

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

                  最好的问候,

                  Apple 开发者计划支持


                  我创建了一个新证书,该证书吊销以前的证书(本地和任何其他开发人员的 mac)。为了让它工作,我必须下载新的配置文件。

                  解决办法是:

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

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

                  【讨论】:

                    【解决方案22】:

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

                    【讨论】:

                    • 谢谢! - 就我而言,在 Target > Build Settings > Code Signing Identity > Release 下设置为 iOS Developer 而不是 iOS Distribution。
                    【解决方案23】:

                    如果您尝试将应用上传到 iTunes Connect(您的配置文件设置为分发),请转到项目设置 -> 构建设置 -> 代码签名。确保将所有 Debug 和 Release Options 设置为您的 Distribution Provisioning Provisioning Profile。

                    【讨论】:

                      【解决方案24】:

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

                      1. 刚刚手动删除了 ~/Library/MobileDevice/Provisioning Profiles 中的本地配置文件。

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

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

                      解决了我的问题! :-)

                      【讨论】:

                        【解决方案25】:

                        这可能对你有帮助

                        iOS 分发配置文件

                        场景:

                        另一个开发者给了我一个证书。

                        我只是简单地安装了这个

                        错误:

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

                        这不是完全正确的错误。

                        错误是私钥丢失

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

                        调用开发者发送私钥。

                        并将其安装到您的本地

                        第二个解决方案

                        • 创建一个新的证书。

                        • 编辑您现有的配置文件

                        • 包括新证书

                        • 保存并下载

                        【讨论】:

                          【解决方案26】:

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

                          ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;

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

                          【讨论】:

                            【解决方案27】:

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

                            【讨论】:

                              【解决方案28】:

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

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

                              【讨论】:

                                【解决方案29】:

                                我为此苦苦挣扎了很多天。

                                第 1 步: 从开发者帐户中删除所有证书、配置文件、appID、密钥等。

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

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

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

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

                                【讨论】:

                                  【解决方案30】:

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

                                  1. 您应该在开发人员中心创建了一个证书,然后将该证书包含在您将导入 XCode 的配置文件中。
                                  2. 否则,如果您使用由其他人创建的证书,请让他们将其证书和私钥(.p12 文件)共享/导出给您,您需要将其包含到您的钥匙串中。参考here

                                  当您无法从创建者那里获取证书和 .p12 文件时,解决方法 #2 的方法是检查“自动管理签名”选项。

                                  【讨论】:

                                    猜你喜欢
                                    • 2019-07-26
                                    • 2018-09-13
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 1970-01-01
                                    • 2020-03-23
                                    • 2012-04-16
                                    • 2017-01-28
                                    相关资源
                                    最近更新 更多