为了构建一个iOS项目(在XCode中),我需要导入我的同事的公钥和私钥以获取代码签名身份,但我无法这样做,因为我在Keychain Access中收到错误消息"发生.无法导入项目./无法检索此项目的内容"
详细信息:
我从同事的电脑上拿了两把钥匙,把钥匙扣作为两个文件导出:
Roomer Inc.p12(私钥)
Roomer Inc.pem(公钥)
当他导出这些时,他将密码留空(虽然我们也尝试使用密码"test"并得到相同的结果).
当我双击Roomer Inc.p12(私钥)时,它会在Keychain Access中打开并让我选择钥匙串(默认情况下选择"登录")
我点击"添加",然后提示我输入钥匙串的密码(我留空)
接下来我总是在Keychain访问中看到此消息:

但是,尽管出现此消息,但当我单击"确定"时,我会看到"Roomer Inc"的新私钥条目.请注意,此条目是"登录"键链中的私钥,正如我所料,但没有到期日期(应该吗?)
接下来,对于Roomer Inc.pem文件(公钥),我被要求选择钥匙串("登录"),然后点击添加
然后,我也得到"发生错误.无法导入项目./该项目的内容无法检索"公共密钥的消息.但是在这种情况下(与私钥不同),我没有看到任何与我刚添加的内容相对应的条目.
因此,看起来私钥条目可能或可能不正常(我无法验证),并且如果没有此错误消息,则无法在密钥链中安装Roomer的公钥条目.请注意,我还尝试使用security import命令导入公钥:
$ security import Roomer\Inc.pem -f pkcs12~/Library/Keychains/login.keychain
1键进口.
当我这样做时,虽然命令返回"1 key import",但我没有在Keychain Access窗口中看到"Roomer Inc"的公钥(我关闭了Keychain Access并重新打开它).
无论哪种方式,我们都发现这是我们的拦截器.(当然,症状是XCode项目不会为AdFoc配置文件构建,以便与TestFlight一起使用).我没有关于XCode构建和TestFlight设置的其他步骤,因为我们认为核心问题与导入密钥有关,如上所述.