我一直在利用您的知识,通过我关于iPhone开发的各种Google搜索分享堆栈溢出。谢谢你。
但现在我需要你的积极帮助。好吧,我一直在尝试为我的公司为第三方客户开发的应用程序创建最终版本。我已经使用我的公司iPhone程序门户ID向该客户提交了临时分发,它们工作正常。
现在客户想要将应用程序提交给AppStore。当然,应用程序应使用客户公司的iPhone程序门户ID进行签名。
因此,客户为我创建了一个管理团队成员帐户,并申请了一个证书并自行批准。下载了它。并通过双击将其安装在“登录”钥匙串(默认钥匙串)下的钥匙串访问中。
之后我创建了一个App ID。然后我继续创建AppStore分发配置文件。在这里,我发现有些如何在Provisioning Profiles下获得'Development'选项卡而不是'Distribution'选项卡。
最后,客户端共享了他的iPhone程序门户ID的登录凭据,使用该登录凭据创建了AppStore Distribution Provisioning Profile。之后,我下载了配置文件并将其放在“/ Library / MobileDevice / Provisioning Profiles”
下然后在构建属性下我尝试将此配置文件分配为代码签名标识,它给了我错误:
个人资料与默认钥匙串中的任何有效证书/私钥对
不匹配在此之后,我创建了下载客户端开发以及分发证书,并将它们添加到“登录”(设置为默认钥匙串)
之后,我使用客户端帐户创建了新的AppID和配置文件,并尝试使用此新的配置文件签署代码。但它仍然给我错误:
个人资料与默认钥匙串中的任何有效证书/私钥对
不匹配任何人都可以解释一下可能出现的问题吗?是因为配置文件是使用客户端证书创建的,因为我只有证书但没有该证书的私钥,所以它给了我错误?
或者重新解释问题
是否有必要创建AppStore构建证书,App Id和Provisioning Profile应使用相同的帐户创建,并且用于创建构建的Mac上的Keychain必须包含证书以及证书的原始私钥?
所有回复都非常感谢。
此致
Pritam Barhate。
答案 0 :(得分:3)
听起来您已经导入了客户端的证书,但不是他们的私钥。您需要私钥和证书才能对应用程序进行签名。出于安全原因,私钥永远不会上传到Apple Portal,因此您无法从那里获取私钥。
您可以通过选择Keychain Access左侧的证书来检查您是否拥有私钥。您现在应该在客户的分发证书的左侧看到一个三角形。按三角形应展开,显示与该证书关联的私钥。如果没有三角形,则表示您没有私钥。
答案 1 :(得分:1)
您需要使用您在自己的计算机上创建的.certSigningRequest重新生成客户端的分发证书(与请求iPhone开发人员计划的任何其他证书一样),然后使用该证书重新创建其分发配置文件。
答案 2 :(得分:0)
我无法开始告诉你我有多少次从头开始重建我的整个钥匙串。过期的条目打破了东西,更换机器破坏了东西,你明白了。我建议回到Apple提供SDK的页面上的逐步说明。很少有人可以发布应用程序 - 你需要做好所有事情,好像你是团队领导者一样。