Mac应用被系统强制关闭主因是签名拦截、架构不兼容、TCC权限清空或Gatekeeper阻止;须依序排查更新关联性、清除quarantine并重签名、启用Rosetta、重置TCC数据库、右键“打开”放行,缺一不可。

Mac上某个App突然被系统强制关闭、显示“由于有问题而被关闭”,不是程序本身崩溃,而是macOS在进程加载或运行阶段主动终止了它;必须按签名验证、架构适配、权限重置、TCC清空、Gatekeeper放行这五层拦截逻辑逐项排除,漏掉任何一层都可能让问题反复出现。
确认是否由本次系统更新触发
打开「系统设置 → 通用 → 软件更新」,查看最近安装的更新名称和日期,例如“macOS Sequoia 15.5 安全更新(2026-06)”;再打开「控制台」→ 左侧选「崩溃报告」→ 搜索关键词 code-signing、hardened runtime、dyld: Library not loaded 或 TCC;如果日志里反复出现“not validly signed”或“ad-hoc signature rejected”,基本锁定是更新触发的签名拦截。
清除隔离属性并强制重签名
系统更新后会自动给从网络下载的应用打上 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、自动化脚本)会在加载阶段直接崩溃,不抛出界面提示,只在控制台留下 TCC deny 日志。
打开「终端」,依次执行以下三条命令:
sudo tccutil reset All
sudo tccutil reset Camera
sudo tccutil reset Microphone
执行后无需重启,下次启动该App时会重新弹出权限请求框——【必须手动点击“好”或“允许”,不能跳过】。
右键“打开”触发一次性信任放行
Gatekeeper默认阻止非App Store及未公证应用的首次启动,但允许用户通过显式交互确认信任;右键“打开”操作会向系统注册该应用实例的临时白名单条目,仅解除本次限制。
1、在访达中定位到该应用图标;
2、按住Control键单击应用图标,从快捷菜单中选择“打开”;
3、在弹出的安全警告中,点击“仍要打开”按钮。

















