使用多个开发人员证书解决协议签名证书歧义

Ste*_*sen 12 iphone codesign

我最近为另一家公司做了一些工作,为他们构建了一个iPhone应用程序.当我在他们的办公室,使用他们的计算机和我的办公室之间分配开发时间时,我生成了一个密钥,并将其作为iPhone开发中心"团队"的一部分进行签名.

我已经有一个现有的开发人员中心帐户和我自己的开发人员证书 导入客户端项目的证书后,签署该应用程序会给我一个来自codesign的警告,它会找到多个与"iPhone Developer:Steve Madsen"相匹配的证书,但它会选择正确的证书并签署二进制文件.

我现在回到我的一个旧项目,使用我自己的开发人员证书.Codesign告诉我,它无法解决我的证书与用于我的客户的证书之间的歧义:

iPhone开发者:史蒂夫·马德森:模糊(匹配"iPhone开发者:史蒂夫·马德森(9E69FVL37K)"和"iPhone开发者:史蒂夫·马德森"在/Volumes/Users/steve/Library/Keychains/login.keychain)

客户端证书是(9E69FVL37K)的证书,我认为它是如何在我的客户的项目中解决问题.

如何配置Xcode项目以使用正确的标识?在目标构建设置下选择特定的(不是自动配置文件选择器)没有帮助.

更好的是,虽然Apple预计开发人员可能是多个团队的成员,但我没有找到关于像我这样的开发人员应如何设置我的环境的文档.生成第二个密钥/证书似乎是实现此功能的唯一方法,因为配置文件必须与一个团队的程序门户下的证书相关联.有没有人对如何使这个过程顺利进行有很好的建议?

Ste*_*sen 5

我今晚采取了暴跌,并决定撤销我的旧证书并生成一个新证书.我的猜测是正确的:Apple现在发布带有(十六进制字符串)后缀的所有证书.

Xcode非常聪明,可以做正确的事情.我在目标设置中选择"iPhone Developer"(自动选择).它根据配置文件确定我的哪些密钥应该用于签署二进制文件,然后通过包含(十六进制字符串)后缀告诉codesign使用该标识.

我敢打赌,较新的iPhone开发人员永远不会看到这个问题,因为他们在Apple开始添加后缀后生成了他们的第一个证书.

提醒其他人必须这样做:您还需要修复所有现有的配置文件,然后重新安装.