自己在使用codesign进行手动签名的时候,遇到一个签名失败的问题,如下:
iPhone Developer: xxx (MQF8D9PK85): ambiguous (matches "iPhone Developer: xxx (MQF8D9PK85)" and "iPhone Developer: xxx (MQF8D9PK85)" in /Users/xxxx/Library/Keychains/login.keychain)
意思就是keychain的登录域里,有多个一样的证书,导致引起歧义了。
打开钥匙串,查看登录帐号中的开发者证书(注意identifier为 MQF8D9PK85 的证书),发现还真是有两个一模一样的证书:
删除其中一个,即解决问题。
在这里不得不佩服Xcode,在遇到这种情况,能正确处理,Build的时候却能正常签名,不会产生错误。
像这种问题,还要一种情形,就是钥匙串的系统帐号和登录帐号中有一模一样的证书,导致冲突了
删除系统账号里重复的两个证书即可。