我有一个非常烦人的编码问题:我有2台Mac机(M1,M2)和2台开发人员证书(C1,C2)。虽然M1和M2上的钥匙链看起来相似,但我在codesign上有以下结果:
因此,当我使用C1在M1上成功构建我的项目时,我无法将存储库转移到M2并再次使用C1构建,我必须更改为C2才能成功。 在错误代码符号返回错误消息'CSSM_SignData返回:8001094A'后跟'未知错误-2070 = fffff7ea'。
答案 0 :(得分:1)
要在计算机上对您的应用进行签名,必须仅从该计算机请求证书。所以你不能在M2上用C1构建,反之亦然。
不幸的是,这些信息会进入project.pbxproj,这很关键,必须由版本控制维护。我认为没有办法避免在版本控制中使用这种机器特定信息。
但是,当您选择要签名的证书时,有一个“自动配置文件选择器”选项。我还没有在不同的机器上测试它,但听起来它会自动为正确的机器挑选合适的证书。但如果不是这种情况,那么每次都必须手动选择certi。
我的团队这样做的方式是 - 我们为开发人员提供了不同的mac,我们从一个特定的Mac上完成所有签名工作。
答案 1 :(得分:0)
您可以从.p12格式的钥匙串中导出证书,并将其安装在另一个系统上。如果在不同的机器上安装.cer文件,它将无法正常工作!尝试导出它们并在其他系统上安装。