Xcode 9.2下macOS应用启动崩溃(EXC_CRASH(Code Signature Invalid))求助
解决macOS应用启动时EXC_CRASH (Code Signature Invalid)崩溃的方案
我之前调试久未更新的macOS应用时,也碰到过一模一样的签名崩溃问题,结合你用Xcode 9.2和macOS High Sierra 10.13的环境,给你几个针对性的排查解决步骤:
精准检查签名配置细节
别依赖Xcode的自动签名,手动确认Target的Build Settings:- 把Code Signing Identity的Debug和Release选项都手动指定为Mac Developer证书(注意别选iOS的证书,两者不通用)
- 确认Provisioning Profile选到了你新创建的对应macOS配置文件,并且配置文件里包含当前测试Mac的UUID(如果是本地调试的话)
彻底清理Xcode缓存
旧缓存经常会干扰新签名生效:- 按下
Cmd + Shift + K清理项目构建缓存 - 打开Xcode偏好设置→Locations,点击Derived Data旁的箭头,删除整个文件夹
- 重启Xcode后再重新构建项目
- 按下
修复钥匙串的证书信任设置
新证书的信任配置可能没到位:- 打开钥匙串访问,找到新创建的Mac开发者证书,右键→显示简介,在“信任”标签里把“使用此证书时”设为“始终信任”
- 把钥匙串里所有过期或同名的旧证书彻底删除(包括登录和系统钥匙串)
临时关闭系统签名验证(仅限本地测试)
用来快速确认是否是签名本身的问题:- 打开终端执行:
sudo spctl --master-disable - 测试完一定要执行
sudo spctl --master-enable恢复系统安全设置
- 打开终端执行:
核对Entitlements权限匹配
权限不匹配也会触发签名无效崩溃:- 检查macOS Target的Entitlements文件里的权限(比如App Sandbox、iCloud)和配置文件里的完全一致
- 如果没有Entitlements文件,重新生成一个并关联到Build Settings的Code Signing Entitlements选项
重新安装配置文件
有时候配置文件下载或安装不完整:- 到Apple开发者后台重新下载对应macOS配置文件,双击安装到Xcode
- 打开Xcode的Window→Devices and Simulators,确认当前Mac的配置文件列表里有这个新文件
内容的提问来源于stack exchange,提问作者inexcitus
相关产品推荐
相关产品推荐

