mac系统升级后软件闪退主因是签名收紧、tcc重置、沙盒强化或api调整;需依次确认更新关联性、清除quarantine并重签名、启用rosetta、重置tcc权限、右键“打开”信任。

Mac系统升级到最新版后软件闪退,不是软件坏了,而是新系统收紧签名验证、重置TCC权限、强化沙盒策略或调整底层API行为所致;必须按环境变更的真实路径逐层排查,跳过任何一步都可能让问题反复出现。
确认是否为本次更新直接引发
打开「系统设置 → 通用 → 软件更新」,查看最近安装的更新名称和日期,例如“macOS Sequoia 15.5 安全更新(2026-06)”;再打开「控制台」→ 左侧选「崩溃报告」→ 搜索关键词 code-signing、hardened runtime、dyld: Library not loaded 或 TCC;如果日志里反复出现 “not validly signed” 或 “ad-hoc signature rejected”,基本锁定是更新触发的签名拦截。
清除quarantine属性并强制重签名
系统更新后会自动给从网络下载的应用打上 quarantine 属性,同时拒绝未公证的 ad-hoc 签名;这两道关卡叠加,直接导致应用连启动画面都出不来。
方法一:终端一键清除+重签名
1、打开「终端」;
2、输入 sudo xattr -r -d com.apple.quarantine,留一个空格;
3、在「访达」中打开「应用程序」文件夹,把目标App(如 Obsidian.app)直接拖进终端窗口,路径自动填入;
4、回车执行,输入管理员密码(输入时无光标、无反馈,输完直接按回车);
5、紧接着输入 sudo codesign --force --deep --sign -,同样留空格后拖入该App;
6、若报错 “resource fork, Finder information, or similar detritus”,改用完整命令:sudo codesign --force --deep --preserve-metadata=entitlements,requirements,flags --sign -;
这一步必须做完才能进下一环,否则后续所有操作都无效。
为Intel应用启用Rosetta
Apple Silicon Mac(M1/M2/M3)在系统更新后可能默认关闭Rosetta,导致仅支持x86_64架构的应用启动即崩溃,错误日志里常带 EXC_BAD_INSTRUCTION (SIGILL)。
① 访达 → 应用程序 → 右键点击目标App → 「显示简介」;
② 勾选「使用Rosetta打开」;
③ 若选项灰色不可点,先在终端运行:/usr/sbin/softwareupdate --install-rosetta --agree-to-license,再重试;
勾选后务必关闭简介窗口,否则设置不生效。
重置TCC权限数据库
系统更新会清空TCC(摄像头、麦克风、辅助功能、全盘访问等权限记录),调用这些能力的应用(如录屏工具、OCR、自动化脚本)会在加载阶段直接崩溃。
打开「终端」,输入命令:tccutil reset All com.example.app;将 com.example.app 替换为目标应用的实际 Bundle ID(可通过 mdls -name kMDItemCFBundleIdentifier /Applications/XXX.app 查询);执行后无需重启,下次启动时系统会重新请求对应权限。
右键“打开”绕过Gatekeeper一次性放行
Gatekeeper默认阻止非App Store及未公证应用启动,但允许用户主动确认信任;右键“打开”触发系统对该实例的白名单记录,仅解除本次限制,不更改全局安全策略。
在访达中定位到该应用图标 → 按住Control键单击 → 选择「打开」→ 在弹出的安全警告中点击「仍要打开」;此后双击即可正常启动,无需重复操作。











