一个 Xcode 管理器中的多个证书/配置文件?

Posted

技术标签:

【中文标题】一个 Xcode 管理器中的多个证书/配置文件?【英文标题】:Multiple Certificates/Provisioning Profiles in one Xcode organizer? 【发布时间】:2011-06-24 19:50:47 【问题描述】:

这里有几个类似的问题,但没有一个可以回答我的基本问题:

是否可以在钥匙串中有两个单独的开发者证书,在 Organizer 中有两个对应的分发配置文件?

我有自己的(工作)开发人员证书和用于我自己的 iPhone 应用程序的配置文件。 现在我为客户完成了一个项目,并想使用他的开发者帐户/证书/配置文件将他的应用提交到他帐户上的应用商店。

这可能吗?

到目前为止,我下载并安装了他的证书,它们显示在我的钥匙串中,我在 Organizer 中安装了他的配置文件,但 Organizer 告诉我“在你的钥匙串中找不到与此配置文件匹配的有效签名身份。”。 同样,存档构建失败。

我找不到方法告诉 Organizer 使用我客户的证书而不是我自己的证书 - 我认为这是问题所在。

感谢您的帮助!

【问题讨论】:

您是否在构建设置中设置了适当的值? 我无法将代码签名身份设置为分发配置文件 - 它显示为灰色,可能是因为 Organizer 找不到签名身份。但它现在可以工作了,见下文。 【参考方案1】:

是的,我已经多次使用他们的分发证书为客户制作应用商店的项目版本。无需使用他们的开发者证书。这里有很多事情可能会出错,如果您可以访问客户的帐户,您可以转到配置门户并检查一下:

确保项目设置中的捆绑包 ID 与 ios 配置门户上的应用 ID 完全匹配(通常为 com.company.appname)

确保应用商店分发配置文件标记为“有效”并显示在分发证书下。

确保 xcode 中的应用商店构建配置引用客户端的分发证书。

打开您的钥匙串并确保客户端分发证书也有其随附的私钥。这可能是问题所在,这是通常被遗漏的部分。客户端必须导出他的 dist 证书的私钥,并在 .p12 文件中将其连同 .p12 文件的密码一起发送给您。没有私钥就不能使用 dist 证书对应用进行签名!

有时只是退出 Xcode 并重新启动它会有所帮助。

【讨论】:

这正是我希望的那种检查清单,你是对的,我错过了私钥。现在完美运行。非常感谢你,你让我很开心。 很高兴能够帮助您摆脱“签约失败地狱”。如果 Apple 错误消息说“证书丢失私钥”不是很好吗? “有时只是退出 Xcode 并重新启动它会有所帮助”在我的情况下有效,如果您遇到此问题,我建议您将其作为您的 第一步 步骤【参考方案2】:

请参阅此复制证书的解决方案:http://tapadoo.com/2012/certificates-magically-re-appearing-in-your-keychain-try-this/

要点是,如果您有旧的私钥和配置文件,您可能会遇到 Xcode 会在您的钥匙串中重新创建旧证书的情况。这将使代码签名变得笨拙,因为它需要具有给定名称的单个证书。删除旧私钥将解决此问题。

【讨论】:

虽然理论上可以回答这个问题,it would be preferable 在这里包含答案的基本部分,并提供链接以供参考。【参考方案3】:

简易模式

(我非常讨厌这些古老的导出错误。浪费了这么多时间。我不信教,但我仍然祈祷这对你有帮助)

登录https://developer.apple.com 转到证书、标识符和配置文件 左下:配置文件 删除所有重复/无效的配置文件(在我的情况下,我只有一个,但它是无效的)

注意:如果您尝试导出档案,您可以让导出窗口保持打开状态,删除一个配置配置文件,然后点击“重试”或按钮上显示的任何内容。这将使您不必一遍又一遍地重新存档

#xcode8.2.1 #osx10.11.6

【讨论】:

以上是关于一个 Xcode 管理器中的多个证书/配置文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何克服 Xcode 中管理器中的配置文件未找到错误有效签名身份? [复制]

Xcode 11 成功的存档不会显示在管理器中,

如何清理 xcode 用户特定设置(组织者、配置文件)?

XCode 4.5 中的代码签名身份

Xcode 4.6 中未添加配置文件

有效的分发配置文件从 Xcode Organizer 中消失了吗?