阐述
最近这段时间,一些同事在打包的时候几乎都会提出这种问题,故出来研究探讨一下。
思考方向
方向1. 由于我们申请的所有证书都是从 苹果证书颁发机构 中请求的,若是苹果证书颁发机构自身的认证证书失效,那么我们所有的证书将会失效。
方向2. 单一项目的证书的过期,在打包中则会提示“Error: xxx” 而不会简单的给出一个“Warning: xxx”。
方向3. 在Keychain Access中,证书错误的提示为 “此证书的签发者无效” 而非 “此证书已过期”。
结论
苹果证书颁发机构的认证证书失效,导致所有的证书提示“此证书的签发者无效”。
解决方法
1 重要的事情说三遍:
请在 Keychain Access 状态下,点击上方工具栏中的 “显示” ,选择 “显示已过期的证书”(若出现“隐藏已过期的证书”则跳过此步)。
请在 Keychain Access 状态下,点击上方工具栏中的 “显示” ,选择 “显示已过期的证书”(若出现“隐藏已过期的证书”则跳过此步)。
请在 Keychain Access 状态下,点击上方工具栏中的 “显示” ,选择 “显示已过期的证书”(若出现“隐藏已过期的证书”则跳过此步)。
2 在 Keychain Access 中,如下图,依次做出操作
a 钥匙串中选择 “登录” 选项卡
b 种类中选择 “所有项目” 选项卡
c 在右上方搜索栏中搜索 Apple Worldwide … (只要能筛选出这种证书就行)
3 查看筛选出来的证书,删除其中显示 “此证书已过期” 的证书。
4 若存在未过期的 Apple Worldwide 证书则跳过这一步。若不存在 Apple Worldwide 证书,在 https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 中下载该新版证书(双击安装)。
5 关闭 Keychain Access 重新打开,此时所有的证书恢复正常。