无法在Ad Hoc配置文件到期之前续订,因为没有证书与证书ID匹配

时间:2013-04-17 07:07:42

标签: xcode provisioning ad-hoc-distribution

我的Ad Hoc个人资料即将在14天后过期。在我的ad hoc配置文件中有一个“续订”按钮,但是当我点击它时,我得到了......

  

此团队中没有与提供的证书ID匹配的当前证书。

配置门户中的配置文件显示活动,30日到期。我还看到一个具有相同失效日期的分发证书。我必须假设此证书是用于签署配置文件的证书。有没有办法解决这个问题,而无需撤销和创建新的临时配置文件和证书?

如果我必须重新开始,那么在不弄乱我的测试者的情况下,最好的方法是什么。

关于此主题有很多帖子和答案,但我找不到任何解决此特定问题的证书与证书不符合个人资料的证书ID。

1 个答案:

答案 0 :(得分:44)

Ad-Hoc Provisioning Profiles由三个主要元素组成:

  • 正好1个AppID
  • 您的分发证书的公钥
  • 一个或多个已注册的测试设备ID

当您第一次生成此配置文件时(大约一年前,如果您当前的配置文件即将到期!),您指示它在构建配置文件时使用当时的分发证书 - 生成的Ad-Hoc配置文件&#39 ; s过期日期设置为与分发证书的到期时间相匹配,因为您无法启动使用过期证书签名的应用程序(旁白:这不一定适用于越狱场景......)

您的主要问题'是否可以在不撤消的情况下修复?'是一个坚实的“不”。 - 即使您可以进行调整,即将到期的分发证书也会导致新重新颁发的Ad-Hoc配置文件的到期时间与分发证书的到期时间相匹配。当您的证书和配置文件都已过期时,您将在14天内回到相同的情况。不幸的是,当时您还遇到了一个新问题,因为签名证书和配置文件已经失效,您向测试人员提供的任何现有版本都将不再启动。

相反,过去两周是您积极主动的机会,可以让您的用户迁移到使用新证书和配置文件的新版本。对于我自己的测试人员,我将当前分发证书的最后几周视为迁移窗口,以便更新构建并让我的测试人员下载并安装最新的测试版本,以便他们可以继续进行测试。好消息是,你的证书到期的时间已经过了足够长的时间让事情变得简单并让你的测试人员迁移 - 有些人没那么幸运,并且在事情过期后让测试人员大喊大叫应用程序崩溃/不再启动...对于任何开发人员来说肯定是一个不理想的结果,特别是如果你是一个人的商店并且必须自己协调开发和beta测试人员通信。

那我该怎么办?

在较高的层面上,迁移几乎与第一次获得此Ad-Hoc配置文件完全相同 - 它只需要清除钥匙串和配置文件中的旧数据以及发送一些鼓励测试人员的电子邮件一旦您为他们提供新版本,您的团队就会升级。在这个过程中,这个过程看起来像这样:

  1. 撤销现有的分发证书并重新签发新的分发证书。
  2. 从钥匙串中删除现有的分发证书并安装新的证书。
  3. 更新并安装现在'无效' Ad-Hoc配置文件,用于使用新创建的分发证书
  4. 如有必要,请更新代码登录构建设置。
  5. 为您的测试人员构建并发布您的Ad-Hoc构建。
  6. 等待 - 取消现有证书是否会破坏我的测试人员?

    不,不是一点儿!您现有的Ad-Hoc版本将在到期日之后继续完美运行,因为他们拥有在您已经发送的Ad-Hoc构建内部验证代码签名所需的所有信息。一旦证书到期,那么事情将无法启动,并且您手上会有尖叫的测试人员。

    我将假设您使用的是个人帐户,因此证书将以“#开发人员:FirstName LastName"和" iPhone发行版:FirstName LastName"。如果您使用的是公司帐户,则格式会略有不同。我也会假设你只拥有一个帐户;如果您注册了多个开发者帐户,请在搜索和删除Keychain中的现有证书和配置文件时格外小心,因为可能有多个类似的条目。

    首先,退出Xcode,然后转到developer.apple.com/ios登录"证书,标识符&简档"区域。这以前称为"供应中心"。

    撤销并重新签发分发证书

    1. 导航到分发证书区域。
    2. 找到即将过期的分发证书并撤消它。您可能会遇到一条消息,通知您撤销此证书将使任何链接的配置文件无效 - 这是完全可以预期的。事实上,这正是我们想要它做的事情,你可以让事情更新!
    3. 点击'添加'右上角的按钮,然后通过步骤创建一个新的应用程序商店和Ad Hoc"分销证书。将文件下载到您的计算机上,但尚未安装 - 我们应首先从开发计算机中清除旧证书。
    4. 删除吊销的证书并安装新证书

      1. 打开钥匙串访问并搜索“iPhone发行版”'。
      2. 删除所有符合“iPhone发行版”的蓝色证书。证书图标也可能显示红色' X'表明它已过期或已撤销。这些可以清理,也可以不再使用。
      3. 双击新下载的证书并进行安装。
      4. 编辑Ad-Hoc配置文件

        1. 导航到“分发配置文件”部分,找到您的Ad-Hoc配置文件。
        2. 编辑该配置文件,以便在必要时更新测试设备列表。
        3. 单击“生成”并下载新创建的配置文件。如果禁用“生成”按钮,请检查“配置文件”名称中没有特殊字符,并且您已选择至少一个测试设备。
        4. 将新下载的配置文件拖放到Xcode上。可以从管理器中删除任何旧版本的配置文件。
        5. 此时您应该重新开始营业并准备好在必要时更新代码签名设置(也就是说,如果您将它们设置为与特定配置文件匹配,而不是使用自动配置文件选择器选项,则需要更新该设置指向您当前的Provisioning Profile版本。

          再一次,您很幸运,因为您正在采取措施解决此问题,而您的测试人员仍然可以使用您的应用程序,而不必急于或急于完成此操作。花点时间并确保清理旧证书和配置文件到期,以便Xcode更容易确定您希望它使用最新的配置文件。