升级Xcode 13后构建项目出现codesign签名错误如何解决?
修复Monterey系统下Xcode 13.x codesign报错方案
问题表现
升级Xcode到13.x版本后构建项目频繁触发签名错误,错误日志如下:
Command usr/bin/codesign failed with a nonzero exit code
完整错误截图:
可行解决方案
- 调整开发者证书信任配置
打开钥匙串访问,找到登录/系统分类下的苹果开发者证书,将信任设置修改为使用系统默认,不要手动设置为「始终信任」,Xcode 13对自定义信任的证书会拒绝签名。 - 更新苹果全球开发者关系根证书
检查钥匙串中「Apple Worldwide Developer Relations Certification Authority」根证书,删除2023年2月过期的旧版本,保留2030年到期的新版根证书即可。 - 修正项目签名配置
优先开启Automatically manage signing自动签名,避免手动签名配置不匹配问题;如果必须使用手动签名,确认Provisioning Profile、Bundle ID、证书三者完全匹配,App Extension的签名配置也要和主项目对应。 - 修复CocoaPods依赖签名问题
如果项目使用CocoaPods管理依赖,在Podfile末尾添加以下脚本,关闭依赖库的签名校验,修改后重新执行pod install即可:post_install do |installer| installer.pods_project.targets.each do |target| target.build_configurations.each do |config| config.build_settings['CODE_SIGNING_ALLOWED'] = 'NO' end end end - M1芯片设备额外适配
如果是M1芯片的Mac设备,在项目Build Settings的「Excluded Architectures」配置项中,为模拟器构建添加arm64架构排除规则,避免架构不匹配触发的签名错误。 - 重置系统签名权限
打开终端执行命令sudo codesign --reset-authority /,输入开机密码完成权限重置后重启Xcode重新构建。
内容的提问来源于stack exchange,提问作者C0L.PAN1C
相关产品推荐
相关产品推荐


