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

mar*_*mba 15 iphone certificate keychain xcode-organizer ios-provisioning

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

是否可以在钥匙串中使用两个单独的开发人员证书,在管理器中有两个相应的分发配置文件?

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

这甚至可能吗?

到目前为止,我下载并安装了他的证书并将其显示在我的钥匙串中,并在管理器中安装了他的配置文件,但是管理器告诉我"在您的钥匙串中找不到与此配置文件匹配的有效签名身份.".同样,存档构建失败.

我找不到告诉管理器使用我的客户端证书而不是我自己的证书的方法 - 我认为这是问题所在.

谢谢你的帮助!

Bog*_*tyr 24

是的我使用他们的分发证书为客户多次制作了应用商店版本的项目.无需使用他们的开发人员证书.这里有很多可能出错的地方,如果你有权访问客户的账户,你可以进入配置门户并查看:

  • 确保项目设置中的软件包ID与iOS配置门户上的应用程序ID完全匹配(通常是com.company.appname)

  • 确保应用商店分发配置文件标记为"有效",并显示在分发证书下.

  • 确保xcode中的app store build config引用客户端的分发证书.

  • 打开您的钥匙串并确保客户端分发证书还有其随附的私钥.这可能是问题所在,这通常是遗漏的部分.客户端必须为其dist证书导出其私钥,并将其与.p12文件中的密码一起发送给.p12文件.如果没有私钥,dist cert不能用于签署应用程序!

  • 有时只是退出Xcode并重新启动它有帮助.

  • 很高兴能够帮助你摆脱"签署失败的地狱".如果Apple错误消息说"证书缺少私钥",那不是很好吗? (9认同)

der*_*aly 5

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

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