【问题标题】:iPhone app signing: A valid signing identity matching this profile could not be found in your keychainiPhone 应用签名:在您的钥匙串中找不到与此配置文件匹配的有效签名身份
【发布时间】:2010-11-03 05:08:24
【问题描述】:

我正在为此拉头发。我刚刚下载了iPhone 3.0 SDK,但现在我的配置文件无法正常工作。这是我尝试过的:

  • 删除所有配置文件
  • 删除登录钥匙串
  • 创建新的“登录”钥匙串,制作它 默认
  • 创建新的证书签名请求
  • 创建新的开发者和发行版 Apple 开发者中心的证书
  • 下载并安装它们
  • 下载 WWDR 证书并安装
  • 创建一个新的配置文件并 双击安装

所有证书都报告为有效,但Xcode 仍然无法识别它们。接下来我应该尝试什么?

编辑:

我完全重新安装了Mac OS X,并从全新安装中安装了3.0 SDK,但仍然遇到同样的问题。

【问题讨论】:

  • 我刚刚花了一个小时来解决这个完全相同的问题,帮助一位朋友。最后,我们放弃了向 ADC 网站提交某种问题的想法。听起来他们搞砸了。
  • 我也有同样的问题。我正要发布一个问题。证书有效,选择了正确的钥匙串,但 Xcode 无法识别它。这是在打开任何项目之前。我将整个 CSR 流程重复了 10 次,我准备放弃了。看起来有些严重的错误。
  • 看起来很多人在官方论坛上也遇到了同样的问题。这肯定是最近才出现的错误。
  • 经过 5 天的折腾,终于成功了。但不知道为什么。苹果很烂。
  • 看看这个Official Apple Q&A

标签: ios xcode


【解决方案1】:

我遇到了同样的问题:我首先在运行时将证书下载到了我的小型 MacBook。尝试在我的 iMac 上安装证书时...然后我遇到了此页面上描述的问题。

像你们中的许多人一样花了几个小时拔掉我的头发后,我执行了以下步骤来修复它:

  1. 关闭除应登录到应用开发中心的网页之外的所有内容。

  2. 打开 Xcode。单击窗口 > 组织者。然后单击“设备”选项卡并选择左侧的“配置文件”。 这应该会显示您的配置文件。一个一个突出显示(如果超过1个),右键单击并删除配置文件。是的,就去做吧!全部删除! (我不断地制作一个新的,试图让这件事发挥作用。)

  3. 在您登录 App Dev Center 后看到的第一页右侧单击“iOS PROVISIONING PORTAL”>(不要“启动助手”)。而是单击左侧。选择证书。您可能只会在一行中列出您的姓名/公司 - 从那里单击右侧的 REVOKE。单击“确定”以验证这是您想要执行的操作。

  4. 在同一页面上单击“设备”。单击您尝试配置的设备旁边的框,然后单击删除选择。再次单击“确定”进行验证。

  5. 等待大约 2 分钟,让 Apple 完成他们的工作。

  6. 现在点击左侧导航栏中的“HOME”。

  7. 点击“启动助手”

  8. 创建一个新的应用程序 ID - 随意调用它。只要确保它的独特性足以知道这是您刚刚创建的那个,因为您整天都在搞乱的其他人不会从 Apples Dev Center 中删除。

  9. 您应该能够毫无问题地关注 Google 助理的其余部分 - 主要是您只需删除旧的配置文件并重新开始。

祝你好运!

【讨论】:

  • 我尝试了各种“破坏性较小”的方法来在我的 mac 上重新设置我的配置文件,这是唯一一个有效的方法!赞!
  • fantastic louie .....它对我来说很神奇......过去两周我一直在挠头,然后我看到你的帖子,哇...... KUDOS...... . 为你投票.....
  • 我只需要重新访问我自己的帖子!我必须按照我的旧说明来完成我的配置。 :) 很高兴看到它仍然有效!
  • 不错的一个!可能有必要从密钥链中删除旧密钥,因为当有两个同名证书(例如,一个旧的和新创建的)时,XCode 拒绝构建。
  • 不适合我。当我转到管理器并单击“设备”时,没有任何内容显示配置文件。
【解决方案2】:

我遇到了同样的问题。这是因为证书的私钥在您的机器上不存在。

  1. 如果您现在使用新机器并从网站下载证书: 您可以从旧机器导出证书,然后在新机器上导入。

  2. 如果您与某人共享开发者帐户: 您要求帐户所有者向您发送邀请并成为该帐户的团队成员。然后您可以从头开始创建自己的证书。

  3. 如果您不想处理所有这些 sh*t: 只需在网站上吊销证书并删除本地计算机上的副本即可。然后请求一个新的。这应该是解决此类问题的最终方法。

【讨论】:

  • 我有一台新机器,我必须在旧机器和新机器上工作一段时间。第一种方法解决了我的情况。谢谢!
  • 应该强调的是,如果您有切换机器,此响应特别有用。谢谢罗马李!
  • 同样,我准备一台机器供新用户使用,发现私钥都在登录下。为新用户导出它们,它就像一个魅力。非常感谢。
【解决方案3】:

昨天遇到了同样的问题。现在,在登录到开发人员门户后,对于每个无效的配置文件都有一个“更新”按钮。更新和下载更新的配置文件后,一切似乎都按预期工作,所以问题肯定解决了:)

更新:您可能需要联系 Apple 以获得“更新”按钮,或者他们将其删除 - 解决方案是只需下载并将其添加到钥匙串中,无需更新。

【讨论】:

  • 但是如何将它添加到钥匙串中?它不会让我!!
  • 默认情况下通过 Xcode 管理配置文件。钥匙串中的内容应该是签名的分发证书。
【解决方案4】:

我发现我需要将我从开发者程序门户的“证书->分发”页面下载的distribution_identity.cer文件拖到钥匙串访问程序中,然后这个错误就消失了。

【讨论】:

  • 我有一个类似的修复程序对我有用。我从 Certificates -> Development 下载了证书,而不是 Certificates -> Distribution。运行 Xcode 3.2.1。
  • 这是你应该做的(:这里的问题是当这不起作用时会发生什么。
  • 类似。在我下载了开发证书和分发证书并双击它们以在钥匙串中打开之前,我的公钥和私钥没有配对。这解决了问题。
【解决方案5】:

我解决了

a) 转到门户上的配置文件页面

b) 在您遇到问题的配置文件上单击编辑(右侧)。

c) 勾选 Appropriate Certificate 框(默认不勾选)并选择正确的 App ID(我的旧的已经过期了)

d) 下载并使用新的配置文件。删除旧的。

Apparently 这个问题有 4 个不同的原因:

  1. 您的钥匙串缺少与您关联的私钥 iPhone 开发者或 iPhone 分发证书。
  2. 您的钥匙串缺少 Apple Worldwide Developer Relations 中级证书。
  3. 您的证书已被吊销或已过期。
  4. 在线证书状态协议 (OCSP) 或证书 撤销列表 (CRL) 在 钥匙串访问偏好

.

【讨论】:

  • 为了他人的利益:当您的开发者证书过期并且您生成新证书时,此问题将出现。由于它是新的(未更新),因此它不会出现在任何配置文件中。您必须进入每个配置文件,选择新的开发人员证书并重新生成。下载并安装这些新的配置文件,一切顺利。
  • @SteveMadsen 这对我来说绝对是这样。我在门户中打开了每个配置文件,选择了新的开发人员证书并在 Xcode 中点击刷新。像魅力一样工作。非常感谢!这让我发疯了!
  • 我遇到了第一个问题。私钥未添加到密钥链访问中的证书。但我无法解决这个问题。请帮我解决这个问题。
  • 谢谢。我的证书/配置文件即将到期(还有一天)并且问题开始了。所以教训是不要等到最后一刻才更新证书和配置文件。
【解决方案6】:

在仔细阅读这里的线程并检查了人们提出的所有解决方案之后,我可以自信地声明这一点,在按照 Apple 开发人员文档中提到的创建 CSR 和移动配置文件的步骤之后,就这样做!,

  1. 启动 Xcode。
  2. 选择窗口->管理器
  3. 点击这个刷新按钮,那个肮脏的黄色条就会立即消失。

http://img.skitch.com/20100820-1ngm8an14c6fm3dt7g6j51d2nx.jpg

相信我,您只有必须这样做。无需一次又一次地重复该过程以确保您以正确的方式进行操作。只需按刷新,输入您的登录凭据即可。

【讨论】:

  • 我收到“发生意外错误。请重试。如果问题仍然存在,请联系 Apple 开发者支持。等等”
  • 当我在 Xcode 中执行此操作时,它确实验证了所有配置文件并最终得到两个有效的配置文件。但是,它没有导入我需要的 Ad Hoc Distribution 配置文件。为了得到它,我必须去门户网站,修复配置文件过期,下载它,然后导入 Xcode(双击就可以了)。所以 - YMMV。
  • 完美地为我工作!谢啦。苹果人真的是最蹩脚的......他们怎么能发明这样一种折磨人的方式来在你的设备上测试你的应用程序???这超出了我的范围。对用户友好,但让开发人员费尽心思!!!荒谬的。无论如何,谢谢队友!
  • 如果你是多个团队的成员,这可能不会导致成功
  • 据我所知,->Organizer 中不再有刷新按钮。 XCode 7.3
【解决方案7】:

对我来说,它仅在证书和两个密钥都在 Login 钥匙串中时才有效。我之前创建了一个 Development 钥匙串,但 Xcode Organizer 无法在其中找到钥匙。所以我将它们移回 Login,退出钥匙串工具 - 瞧,Xcode Organizer 中的错误消失了!这是在带有 3.1.3 SDK 的 Snow Leopard 10.6.2 上。

【讨论】:

    【解决方案8】:

    对于开发证书,您只需创建一个新证书并将其与配置文件匹配即可。但是对于分发,例如当您要提交给 Apple 时,您不能这样做,并且必须使用团队代理创建的分发证书。问题是您需要机器上的私钥。但是,创建证书的团队代理将私钥复制给您非常简单,以下是Apple的说明,希望对您有所帮助。

    如果您需要在多台计算机上开发或决定重新安装系统操作系统,请将私钥保存在安全的地方至关重要。 如果没有您的私钥,您将无法在 Xcode 中签署二进制文件并在任何 Apple 设备上测试您的应用程序。生成 CSR 时,钥匙串访问应用程序会在您的登录钥匙串上创建一个私钥。此私钥与您的用户帐户相关联,如果由于重新安装操作系统而丢失,则无法复制。如果您计划在多个系统上进行开发和测试,则需要将您的私钥导入您将要处理的所有系统。

    1. 要导出您的私钥和证书以进行安全保存并支持在多个系统上进行开发,请打开钥匙串访问应用程序并选择“钥匙”类别。
    2. Control-单击与您的 iPhone 开发证书关联的私钥,然后单击菜单中的“导出项目”。私钥由 iPhone 开发人员识别:与之配对的公共证书。
    3. 以个人信息交换 (.p12) 文件格式保存您的密钥。
    4. 系统将提示您创建密码,当您尝试在另一台计算机上导入此密钥时使用该密码。
    5. 您现在可以在系统之间传输此 .p12 文件。双击 .p12 将其安装到系统上。系统将提示您输入在第 4 步中输入的密码。

    【讨论】:

      【解决方案9】:

      我得到的最佳答案是导出您的密钥,而不是仅仅尝试导入证书文件。

      当您从生成请求的钥匙串中导出密钥时,您会得到一个 Certificates.p12 文件,该文件将您需要的密钥卷在一起。

      然后将其导入新计算机。

      使用这样的密钥,最好保留一个滚动的证书包文件,因为很多时候“公共”密钥或证书文件不足以从中恢复内容。

      【讨论】:

        【解决方案10】:

        在我的情况下,我将项目从 iMac 复制到我的 Macbook Pro 并发现我没有在 Macbook 上安装我的私钥。所以我导出了我的私钥,将其复制并安装到 Macbook 上,瞧,它可以工作了!我在这里记录了信息: http://www.creatistblog.com/2009/09/iphone-developer-provisioning.html

        【讨论】:

          【解决方案11】:

          Xcode 4 的注释:在管理器中,左侧窗格中有两个不同的部分:

          1. 库 > 配置文件

          2. 设备 > 您的设备 > 配置文件

          我总是将我的配置文件放入 2。即使在正确清洁和安装之后它也无法正常工作。然后我发现了 1. 最后我找到了刷新按钮。如果您在 1. 中选择“自动设备配置”并单击刷新,则所有内容都已验证(不再在 2. 中出现黄色警告)。

          【讨论】:

          • 是的!其他帖子提到了刷新按钮,但我找不到它。谢谢!
          【解决方案12】:

          您是否尝试重新启动您的 Mac 和您的设备?蹩脚的答案,但我总是先尝试。

          【讨论】:

          • 是的,重启了手机和mac
          • 整个配置和钥匙串的事情让我很烦恼。讨厌这个过程。
          • 我认为 cmets 通常应该用于这样的答案 - 否则您几乎可以将其添加到每个问题中
          【解决方案13】:

          我在重新做所有事情后让它工作,然后用 XCode 创建一个空项目并将其构建/运行到设备。 XCode 显示了一个窗口,询问类似:你想接受开发者证书吗?我按了“总是”。只有在这一步之后,我才在 Organizer 中删除了“无法在您的钥匙串中找到与此配置文件匹配的有效签名身份”的消息。

          【讨论】:

            【解决方案14】:

            大家好,昨天我遇到了很多麻烦。我经历了几次整个过程,使用助手向权威机构请求新的证书请求,清除门户中的所有内容,上传证书,创建新配置文件并下载所有内容。没有骰子。

            但是,请检查一下。

            首先清除门户上的所有证书以重新开始。

            使用助手创建新证书请求后,按“在 Finder 中显示”,然后双击那个坏男孩。您应该会弹出证书助手的弹出窗口,其中显示“请指定颁发证书颁发机构”等屏幕。如果没有,只需将其关闭并再次双击。 现在只需通过对话框选择 “从现有 CA 请求证书” - 继续 请求是“已保存到磁盘” - 继续 将其保存在您喜欢的任何位置,甚至覆盖文件。

            最后你应该会看到神奇的“创建密钥对”

            跑到 KeyChain 访问,你会在那里看到你的钥匙!将此证书上传到苹果门户,然后照常通过他们的向导,现在一切正常。

            【讨论】:

              【解决方案15】:

              两个不同的配置文件(开发和分发)有两个不同的证书。您必须在钥匙串中安装两个证书。在 iPhone 开发者计划门户中:

              证书 -> 开发 -> 下载 证书 -> 分发 -> 下载

              双击这两个证书。之后,两个证书都必须出现在 Keychain 中。

              【讨论】:

                【解决方案16】:

                答案是撤销您当前的开发证书并制作一个新证书。按照苹果网站上的说明进行操作。就这么简单!!我遇到了这个确切的问题。

                【讨论】:

                  【解决方案17】:

                  完成这项工作的简单步骤:

                  1. 从计算机上的钥匙串(已包含您的开发密钥)开始,并创建证书请求。将请求上传到开发站点并创建证书。
                  2. 使用证书创建配置文件。
                  3. 下载配置文件并将其放到 Xcode 上。

                  现在所有的点都连接起来了,它应该可以工作了。这适用于开发和分发。

                  【讨论】:

                    【解决方案18】:

                    我登录了开发者帐户并撤销了开发证书。撤销并下载开发证书后,我双击新下载的证书,这次私钥在 KeyChain Access 的开发证书下。

                    【讨论】:

                      【解决方案19】:

                      确保干净地发生这种情况的一个好方法是首先彻底清理您的登录钥匙串。

                      另外,一个非常重要的步骤是在导入私钥和公钥之前解锁你的钥匙串

                       security unlock-keychain -p password ~/Library/Keychains/login.keychain 
                      

                      将私钥导入登录钥匙串:

                      security import PrivateKey.p12 -k ~/Library/Keychains/login.keychain 
                      

                      已导入 1 个身份。

                      将公钥导入登录钥匙串:

                      security import PublicKeyName.pem -k ~/Library/Keychains/login.keychain 
                      

                      已导入 1 个密钥。

                      【讨论】:

                        【解决方案20】:

                        昨天我们的 CI 服务器遇到了类似的问题。应用扩展无法签名,出现错误

                        Code Sign error: No matching provisioning profiles found: No provisioning profiles with a valid signing identity (i.e. certificate and private key pair) matching the bundle identifier XXX were found.
                        

                        注意:我自己从 Developer portal(不由 Xcode 管理)创建了我的配置文件。

                        错误是我使用分发证书创建了配置文件,但构建设置被设置为使用开发人员证书。将其更改为使用分发证书解决了该问题。

                        总结:匹配用于在构建设置中创建配置文件的证书。

                        【讨论】:

                          【解决方案21】:

                          我遇到了同样的问题,但这是因为我在 Mac 上设置了“FileVault”。我进入我的钥匙串并将“登录”设置为我的默认设置并修复了它。

                          【讨论】:

                          • @Lou,听起来我之前遇到的问题和你一样......在我设置 'FileValut' 之前,我发现了问题:所有配置文件都显示'有效的签名身份在您的钥匙串中找不到匹配此配置文件'.....我尝试修复,但到目前为止我还没有解决它...你能给我更多详细的提示吗?如何更新钥匙串?提前感谢您的帮助..
                          【解决方案22】:

                          “这是 Apple 门户网站上的一个错误。他们在配置文件中缺少必要的字段。他们在 2009 年 6 月 16 日晚些时候修复了这个错误。”

                          【讨论】:

                            【解决方案23】:

                            我不知道他们是否真的跳过了它,或者我的眼睛只是呆滞了,但是....

                            以防万一其他人忽略了我所做的相同事情......

                            就像您在开发和测试时一样......

                            1) 你需要一个 DISTRIBUTION > 2) 你需要一个 DISTRIBUTION >

                            这是门户网站上的两个步骤,以便签署。

                            在那里,我创建了开发人员 CERTIFICATE 并将其复制到 Mobile Provisions 文件夹中,想知道为什么它不起作用。

                            一旦我有了配置文件

                            * 宾果游戏 *

                            【讨论】:

                              【解决方案24】:

                              我遇到了完全相同的问题并尝试了所有方法。无论出于何种原因,解决方案是我的所有证书都已迁移到名为“microsoft_intermediate_certificates”的钥匙串。由于它可能发生在 Xcode 升级期间,我完全不知道为什么,但它可能对某人有所帮助。

                              我将微软钥匙串的所有内容移到了登录钥匙串中,一切都恢复正常了。

                              【讨论】:

                                【解决方案25】:

                                在遇到最初发布的相同问题后,我终于得到了这个工作,例如,4 次单独的尝试。所以这就是发生的事情,我不确定这是否是一个老问题(2009-07-09),但无论如何我都会发布以防它对您有帮助。对我有用的东西……可能对你有用……

                                1. 重新开始并删除钥匙串中旧的私钥、公钥和证书
                                2. 走全流程,向证书颁发机构申请证书,得到新的公钥,新的私钥,新的证书。注意:当它工作时,我只有一个私钥、一个公钥和一个证书
                                3. 创建一个新的配置文件(它使用您刚刚创建的证书)并将其放在 Xcode 的管理器窗口中。删除所有旧的BS。
                                4. 运行它。

                                希望这会有所帮助。

                                【讨论】:

                                  【解决方案26】:

                                  这里的每个人都大错特错。您只需按照 Apple 在 Managing Your Digital Identities 中提供的步骤操作即可。

                                  它指示您通过 Xcode 导出证书并通过 Xcode 重新导入。效果很好,但请确保两台计算机上的用户名相同,否则会失败。

                                  【讨论】:

                                  • 你甚至没有回答同样的问题,所以声称其他人都“非常错误”是有点花言巧语,你不觉得吗?
                                  【解决方案27】:

                                  我刚刚在这个 fershlugginer 问题上花了几个小时,在更新我的开发许可证后突然出现。重申一下,一切都顺利进行,然后(感谢苹果!)一切都搞砸了,一直搞砸了。 Apple 官方故障排除步骤(链接到上面)或此处提到的可能解决步骤都没有为我解决问题。

                                  最终为我做的是删除我的开发和分发证书,在配置门户中撤销它们,然后让 Xcode 自动刷新/颁发它们。没有其他任何东西能够以任何顺序将所需的证书都放入我的钥匙串中,并正确附加了私钥。

                                  【讨论】:

                                    【解决方案28】:

                                    这就是我所做的。

                                    1. 确保您的证书没有过期,确保删除所有过期的证书。获取新的等等,一旦你确定一切都是它应该的方式,然后专注于你的项目文件。
                                    2. 在 finder 中,转到您的 .xcodeproj 文件,然后显示包内容。
                                    3. 在 xcode 或 textedit 中打开 project.pbxproj。
                                    4. 找到对 PROVISIONING_PROFILE 的所有引用并删除 GUID,只需留空“” 根据您的项目,您应该有大约 12 个以上的引用,删除所有 GUIDS。

                                    5. 保存文件,然后在 XCODE 中重新打开您的项目

                                    6. 为所有可能的代码签名重新选择正确的配置文件(它们不应该都相同)
                                    7. 构建您的项目,一切顺利。

                                    我认为 Xcode 在某些方面会感到困惑,并且从 project.pbxproj 中删除所有 Provision Profiles,然后重新选择有效的配置文件将设置它。

                                    【讨论】:

                                      【解决方案29】:

                                      如果你有新的 mac 你可以去 IOS 开发者中心 --> Provisioning Portal --> 证书 --> 开发 --> 撤销并创建新证书。我的问题解决了。我的错误是“代码签名错误:身份‘iPhone 开发者’与您的钥匙串中的任何有效、未过期的证书/私钥对不匹配”

                                      【讨论】:

                                        【解决方案30】:

                                        你需要什么:

                                        1) 一个私钥和一个公钥。

                                        他们在你的钥匙串中有这个符号:

                                        2) 根据这些密钥的签名请求生成的证书

                                        3) 链接到该证书的配置文件

                                        假设您更换了计算机并想再次使用配置文件设置 Xcode。你是怎么做到的?

                                        1. 打开 Xcode,按 ctrl + O 打开 Organizer,然后删除您可能已经安装的所有配置文件。
                                        2. 打开钥匙串访问,并创建一个签名请求并将其保存到文件中(当您创建请求时,会在您的钥匙串中创建一个私钥和公钥)。
                                        3. 通过向苹果发送此签名请求,在配置门户中创建/更新证书
                                        4. 下载并安装新创建的证书。
                                        5. 撤销您的配置文件并使用新证书更新它们。
                                        6. 下载并安装新更新的配置文件。

                                        【讨论】:

                                          猜你喜欢
                                          • 1970-01-01
                                          • 2011-02-12
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 1970-01-01
                                          • 2011-05-03
                                          • 1970-01-01
                                          • 2013-10-03
                                          相关资源
                                          最近更新 更多