我的Ad Hoc个人资料即将在14天后过期。在我的ad hoc配置文件中有一个“续订”按钮,但是当我点击它时,我得到了......
此团队中没有与提供的证书ID匹配的当前证书。
配置门户中的配置文件显示活动,30日到期。我还看到一个具有相同失效日期的分发证书。我必须假设此证书是用于签署配置文件的证书。有没有办法解决这个问题,而无需撤销和创建新的临时配置文件和证书?
如果我必须重新开始,那么在不弄乱我的测试者的情况下,最好的方法是什么。
关于此主题有很多帖子和答案,但我找不到任何解决此特定问题的证书与证书不符合个人资料的证书ID。
答案 0 :(得分:44)
Ad-Hoc Provisioning Profiles由三个主要元素组成:
当您第一次生成此配置文件时(大约一年前,如果您当前的配置文件即将到期!),您指示它在构建配置文件时使用当时的分发证书 - 生成的Ad-Hoc配置文件&#39 ; s过期日期设置为与分发证书的到期时间相匹配,因为您无法启动使用过期证书签名的应用程序(旁白:这不一定适用于越狱场景......)
您的主要问题'是否可以在不撤消的情况下修复?'是一个坚实的“不”。 - 即使您可以进行调整,即将到期的分发证书也会导致新重新颁发的Ad-Hoc配置文件的到期时间与分发证书的到期时间相匹配。当您的证书和配置文件都已过期时,您将在14天内回到相同的情况。不幸的是,当时您还遇到了一个新问题,因为签名证书和配置文件已经失效,您向测试人员提供的任何现有版本都将不再启动。
相反,过去两周是您积极主动的机会,可以让您的用户迁移到使用新证书和配置文件的新版本。对于我自己的测试人员,我将当前分发证书的最后几周视为迁移窗口,以便更新构建并让我的测试人员下载并安装最新的测试版本,以便他们可以继续进行测试。好消息是,你的证书到期的时间已经过了足够长的时间让事情变得简单并让你的测试人员迁移 - 有些人没那么幸运,并且在事情过期后让测试人员大喊大叫应用程序崩溃/不再启动...对于任何开发人员来说肯定是一个不理想的结果,特别是如果你是一个人的商店并且必须自己协调开发和beta测试人员通信。
那我该怎么办?
在较高的层面上,迁移几乎与第一次获得此Ad-Hoc配置文件完全相同 - 它只需要清除钥匙串和配置文件中的旧数据以及发送一些鼓励测试人员的电子邮件一旦您为他们提供新版本,您的团队就会升级。在这个过程中,这个过程看起来像这样:
等待 - 取消现有证书是否会破坏我的测试人员?
不,不是一点儿!您现有的Ad-Hoc版本将在到期日之后继续完美运行,因为他们拥有在您已经发送的Ad-Hoc构建内部验证代码签名所需的所有信息。一旦证书到期,那么事情将无法启动,并且您手上会有尖叫的测试人员。
我将假设您使用的是个人帐户,因此证书将以“#开发人员:FirstName LastName"和" iPhone发行版:FirstName LastName"。如果您使用的是公司帐户,则格式会略有不同。我也会假设你只拥有一个帐户;如果您注册了多个开发者帐户,请在搜索和删除Keychain中的现有证书和配置文件时格外小心,因为可能有多个类似的条目。
首先,退出Xcode,然后转到developer.apple.com/ios登录"证书,标识符&简档"区域。这以前称为"供应中心"。
撤销并重新签发分发证书
删除吊销的证书并安装新证书
编辑Ad-Hoc配置文件
此时您应该重新开始营业并准备好在必要时更新代码签名设置(也就是说,如果您将它们设置为与特定配置文件匹配,而不是使用自动配置文件选择器选项,则需要更新该设置指向您当前的Provisioning Profile版本。
再一次,您很幸运,因为您正在采取措施解决此问题,而您的测试人员仍然可以使用您的应用程序,而不必急于或急于完成此操作。花点时间并确保清理旧证书和配置文件到期,以便Xcode更容易确定您希望它使用最新的配置文件。