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

use*_*859 13 xcode provisioning ad-hoc-distribution

我的Ad Hoc个人资料即将在14天后过期.我在组织者的临时配置文件中有一个"续订"按钮,但是当我点击它时,我得到...

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

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

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

关于此主题有很多帖子和答案,但我找不到任何解决此特定问题的证书与证书不符合配置文件的证书ID.

Bry*_*ial 45

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

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

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

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

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

那我该怎么办?

在较高的层面上,迁移几乎与第一次获得此Ad-Hoc配置文件完全相同 - 它只需要清理钥匙串和配置文件中的旧数据,并发送一些测试人员电子邮件,鼓励您的团队一旦您为他们提供新版本,就升级.在高级别,此过程如下所示:

  1. 撤销现有的分发证书并重新签发新的分发证书.
  2. 从钥匙串中删除现有的分发证书并安装新的证书.
  3. 更新并安装现在的"无效"Ad-Hoc配置文件,以使用新创建的分发证书
  4. 必要时更新代码签名构建设置.
  5. 为您的测试人员构建并发布您的Ad-Hoc构建.

等等 - 不会撤销我现有的证书会破坏我的测试人员吗?

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

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

首先,退出Xcode,然后转到developer.apple.com/ios登录到"证书,标识符和配置文件"区域.这以前称为"供应中心".

撤销并重新签发分发证书

  1. 导航到"分发证书区域".
  2. 找到即将到期的分发证书并撤消它.您可能会遇到一条消息,通知您撤消此证书将使任何链接的配置文件无效 - 这完全是预期的,也可以.事实上,这正是我们想要它做的事情,你可以让事情更新!
  3. 单击右上角的"添加"按钮,然后通过这些步骤制作新的"App Store and Ad Hoc"分发证书.将文件下载到您的计算机,但不要立即安装 - 我们应该首先从开发计算机清理旧证书.

删除吊销证书并安装新证书

  1. 打开Keychain Access并搜索"iPhone Distribution".
  2. 删除任何与"iPhone Distribution"匹配的蓝色证书.证书图标也可能显示红色"X",表示它已过期或已撤销.这些可以清理,也可以不再使用.
  3. 双击新下载的证书并进行安装.

编辑Ad-Hoc配置文件

  1. 导航到"分发配置配置文件"部分,找到您的Ad-Hoc配置文件.
  2. 如有必要,编辑该配置文件以更新测试设备列表.
  3. 单击"生成"并下载新创建的配置文件.如果禁用"生成"按钮,请检查"配置配置文件"名称中没有特殊字符,并且您已选择至少一个测试设备.
  4. 将新下载的配置文件拖放到Xcode上.可以从管理器中删除任何旧版本的配置文件.

此时,您应该重新开始工作并准备好在必要时更新代码签名设置(也就是说,如果您将它们设置为与特定配置文件匹配而不是使用自动配置文件选择器选项,则需要将该设置更新为指向现有版本的Provisioning Profile).

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

  • 布莱恩,这是一个很棒的写得很好的答案!谢谢谢谢. (3认同)
  • 布莱恩,只想再次感谢你.我刚按照您的说明更新了我的Ad Hoc配置文件,没有任何问题.谢谢你,很高兴去另一年.约翰 (3认同)