两个同名的AppStore账户。我遇到了codeSign错误,'Name'在钥匙串中出现了多次。

8
我在AppStore上又注册了一个新账号,我已经在我的MAC上设置了新账号的证书。现在当我尝试发布时,XCode给出以下错误提示:
CodeSign error: Certificate identity 'iPhone Distribution: 'Name' appears more than once in the keychain. The codesign tool requires there only be one.
如何更改另一个账号的证书身份?同时,我必须在两个itunes账户上保留我的名称,怎么办?
如何避免每次需要在AppStore上发布应用程序时都要删除一个证书的问题?
谢谢。
5个回答

12

在您的Mac上查看钥匙链应用程序。您可能有过期的条目和当前的条目。删除过期的条目,然后您就可以了。今天对我有用。


我确实在AppStore上有另一个账户,这不是冲突的问题。 - iTarek

2

我会为每个团队创建一个钥匙串,并将与该团队相关的所有文件(公钥、私钥、证书)放入该钥匙串中。唯一的缺点是在为设备构建时,您必须将默认钥匙串设置为团队钥匙串。


这似乎不再适用于XCode 4.4,因为它搜索所有钥匙串。 我不得不删除我账户中不活跃的构建所需的所有其他分发证书。 我还必须从组织者中删除与该帐户相关联的所有配置文件。 - odyth

1

我刚遇到了这个问题,我的临时解决方案是导出并删除一个分发标识,只留下一个标识,然后XCode就可以正常工作了。所以每次我想要切换到不同的项目进行分发时,都需要导出、删除和导入,这并不理想。

我仍在寻找更好的解决方案。

从原则上讲,钥匙串方法听起来还不错,但实际上似乎需要使用“重置默认钥匙串”选项在钥匙串首选项中,我还没有尝试过,但听起来风险不低。


谢谢,这应该会对我很有帮助 - 我正在使用构建服务器上的设置,因此切换钥匙链更或多或少是轻而易举的。 - Blitz

0

我曾经使用多个证书(针对同一身份,即“我”)在多个应用商店账户上发布了多个应用程序,并且Xcode成功地理解了哪个证书适用于哪个应用程序(我可能不得不偶尔手动从“项目信息”菜单中选择正确的配置文件来帮助它)。

我的做法是为每个新的“应用商店”帐户创建一个新的证书,并且确保不会碰撞到应用程序标识符。这意味着我的钥匙串中充满了“iPhone developer-Ben(XDFUHSD)”,“iPhone developer-Ben(DSUKJNSD)”等证书,每个证书都用于不同的客户端。

Xcode有时会给我报错,但这确实只发生在我的某个证书已过期并且我刚刚重新下载了一个新证书的情况下。

希望这可以帮到您。


0

就我所知,即使我的钥匙串中只有一个有问题的证书副本,我仍然会遇到此错误。 我设置中唯一奇怪的事情是我将来自我的10.6分区的钥匙串文件添加到了钥匙串访问中,因此我有两个“登录”钥匙串。 即使另一个钥匙串中根本没有证书,但当我从钥匙串访问中删除它时,“出现多次”的错误也消失了。

好消息是,自动配置似乎在这些日子里运作得非常好,因此清除和重新加载所有我的配置文件并不像我想象的那样可怕。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接