该客户拥有自己的Bundle ID,可能也有他们自己的针对此设备的配置文件。因此,苹果可能会匹配Bundle ID,而不考虑用于配置的开发人员帐户。
我通过修改应用程序的Bundle ID并手动完成配置过程来解决了这个问题,但我猜想这个问题非常罕见,所以我不确定这篇文章是否对任何人有用。
当我尝试从Xcode 9.2创建新证书时,出现了错误:
"You already have a current iOS Distribution certificate or a pending certificate request"
解决这个错误只需要两步:
我的问题已经得到解决 (我正在使用Xcode 9.2)。
我刚刚发现,如果我从Xcode中删除我的账户,并重新登录,那么它可以解决问题。尽管我在这个过程中撤回了现有的证书并申请了新的证书,但我并没有导入现有的配置文件。
这个问题实际上比你想象的更常见。
一些解决方案:
我通常发现打开Xcode的设置,注销我的账户然后重新登录可以解决大部分的问题。
你可能有一台旧的Mac已经使用了一个开发证书。在这种情况下,你需要从那台机器中导出开发者配置文件。如果你无法访问该机器,则需要注销该证书,并请求一个新的证书。
另一个选择可能是仔细检查你项目中的构建设置,并确保它正在寻找正确的证书。根据我的经验,在这些设置中会自作主张做出决策,确认它们是否符合你的预期可能会有所帮助。
背景:
处理配置文件时,很容易因为你需要经历的所有步骤而感到沮丧。首先要注意的是,如果你看到的错误是关于“证书”还是“配置文件”。在你的情况下,是证书。好的。
证书与配置文件在几个方面有所不同。证书通常只生成两次:一次用于开发,一次用于分发。(如果你决定添加支持某些特殊功能,如推送通知或在服务器上生成通行证等,则有例外。)
生成证书的流程也比配置文件更加官僚化一些。你需要向Apple的成员中心“请求”一个证书。你需要“生成”一个配置文件。
之所以使用“请求”和“生成”这两个词,是因为Apple和你的iOS团队管理员都需要批准证书请求。这是因为证书将你标识为iOS开发团队的一部分,并提供与之相关的所有权限。
为了完整起见,我还要补充一点,即配置文件是基于该证书生成的,真正告诉iOS你的应用程序打算在哪个环境中运行。(通过商店在任何设备上、特定设备等)
现在,对于您来说重要的是请求业务。大多数人不会给予这个术语太多关注,因为独立开发者和小团队(其中开发者是管理员)不需要开发者请求权限。
您的错误是关于先前生成的证书或请求。每个开发者只能拥有一个开发证书。你要么已经有一个,要么你已经请求了一个并且需要有人批准。
这就是正在发生的事情。
如果“Apple Distribution”部分显示为图像中所示的红色文本,则应吊销您现有的证书以生成新证书,因为您已达到限制。
只需两步即可修复此错误。
使用Xcode 8.3和9,这个过程变得非常简单。只需在“验证”界面中删除一个旧的证书,然后点击加号按钮请求新证书,Xcode将为您请求并添加到钥匙串中。在我的情况下,最大数量已达到,因此我删除了一个在旧Mac中丢失的证书并创建了一个新的证书。
1)从苹果开发者账户中删除旧证书。 2)进入“Xcode”。 3)选择“偏好设置”选项,然后选择“帐户”选项卡。 4)从左侧选择Apple ID,然后单击“管理证书”。 5)单击“+”(添加证书)按钮。 6)添加“Apple Distribution”证书。
当您拥有三个在不同机器上创建的活动分发证书时,您会遇到此问题。您可以要求先前创建的任何一个私钥,或者撤销其中任何一个并创建自己的证书。
不幸的是,只有一次Macbook的重启才解决了我的问题。
创建另一个分发证书并不是一个选项,因为它已经达到了证书的最大数量。
我手动将现有的证书(包括其私钥)添加到钥匙串中……但Xcode仍然显示“未在钥匙串中”。然后我尝试通过从Xcode中删除和添加我的开发者帐户来触发Xcode列表的刷新,但这没有起作用——重启Xcode也没有用。所以,当其他方法都失败时,你可以尝试重新启动系统。