【发布时间】:2009-11-10 20:03:17
【问题描述】:
我最近为另一家公司做了一些工作,为他们构建了一个 iPhone 应用程序。当我在他们的办公室、使用他们的计算机和我的办公室之间分配开发时间时,我生成了一个密钥,并将其作为他们 iPhone 开发中心“团队”的一部分进行了签名。
我已经有一个现有的开发中心帐户和我自己的开发者证书。为客户端项目导入证书后,签署该应用程序会向我发出来自 codesign 的警告,指出它找到了多个与“iPhone Developer: Steve Madsen”匹配的证书,但它选择了正确的一个并签署了二进制文件。
我现在要使用我自己的开发人员证书回到我的一个旧项目。 Codesign 告诉我它无法解决我的证书和我的客户使用的证书之间的歧义:
iPhone 开发者:Steve Madsen:不明确(匹配 /Volumes/Users/steve/Library/Keychains/login.keychain 中的“iPhone 开发者:Steve Madsen (9E69FVL37K)”和“iPhone 开发者:Steve Madsen”)
客户端证书是带有 (9E69FVL37K) 的证书,我认为这是 codesign 能够在我的客户项目中解决问题的方式。
如何配置 Xcode 项目以使用正确的身份?在目标构建设置下选择一个特定的(不是自动配置文件选择器)没有帮助。
更好的是,虽然 Apple 预计开发人员可以是多个团队的成员,但我没有找到关于像我这样的开发人员应该如何设置我的环境的文档。生成第二个密钥/证书似乎是完成这项工作的唯一方法,因为配置文件必须与一个团队的程序门户下的证书相关联。有没有人对如何使这个过程顺利进行有好的建议?
【问题讨论】:
-
选择一个特定的身份而不是自动选择应该可以工作 - 它对我有用。
-
哦,请确保它在两者中都正确选择了身份;项目属性以及目标属性!
-
这没什么区别。问题是两个键具有相同的前缀,而我要使用的键整体上是第二个(客户端工作)键的前缀。 Codesign 没有模式可以说“身份就是这个,不要试图聪明。”
-
有趣的是,我现在确实有同样的问题 - 将尝试撤销所有内容,看看会发生什么。