mac卸载软件后通知残留需手动清理:先强制退出相关进程并禁用登录项,再删除notificationcenter中对应uuid数据库文件、重启notificationcenter进程,接着重置launch services注册表并重启系统,最后检查并编辑/library/preferences/com.apple.notificationcenter.plist移除硬编码条目。

Mac上已卸载软件的通知残留表现为:通知中心仍显示该应用图标、通知横幅持续弹出“某某应用想要发送通知”、系统设置→通知与焦点中残留已删除App的条目,甚至点击通知会触发“找不到应用程序”错误。这些残留并非系统bug,而是Notification Center数据库未同步更新所致,必须手动刷新或重建通知注册表才能彻底清除。
先停进程再清通知缓存
打开「活动监视器」→顶部搜索栏输入软件名(如“Slack”“Notion”)→选中所有匹配进程→点击左上角×→选择“强制退出”。【否则通知服务正读取旧配置,强行删库会导致下次启动卡死】
顺手进入「系统设置 → 通用 → 登录项」,关闭该软件的自启条目——防止它偷偷拉起通知代理进程。
重置通知中心数据库
这一步直接命中根源:通知中心依赖Launch Services注册表和~/Library/Application Support/NotificationCenter下的SQLite数据库,卸载后这两处不会自动清理。
按Shift + Command + G → 输入~/Library/Application Support/NotificationCenter → 回车 → 找到以UUID命名的.db文件(如8A1F3B2C-XXXX-XXXX-XXXX-XXXXXXXXXXXX.db)→ 【只删与目标软件Bundle ID匹配的.db文件,不要删整个NotificationCenter文件夹】
接着在终端执行:killall NotificationCenter → 回车 → 等待几秒,NotificationCenter进程会自动重启并重建空白数据库。
刷新Launch Services通知关联
通知权限本质是Launch Services对App Bundle ID的注册映射,残留通知条目就是这个映射没被清除。
第一步:打开终端,执行以下命令重置全局通知注册表:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
第二步:等待命令执行完毕(约10–30秒),期间不要操作其他程序。
第三步:重启Mac——这是关键,【不重启则通知中心仍缓存旧注册信息,设置里残留条目不会消失】
检查并清理系统级通知残留
某些驱动类或后台守护进程(如Logitech Options、ESET Cyber Security)会在/Library/Preferences/com.apple.notificationcenter.plist中硬编码通知白名单。
按Shift + Command + G → 输入/Library/Preferences → 回车 → 找到com.apple.notificationcenter.plist → 右键→“显示简介”→确认修改日期是否早于软件卸载时间 → 若是,用文本编辑器打开该plist,搜索软件Bundle ID(如com.logitech.options),删除对应字典节点 → 保存。
最后右键废纸篓→“清空废纸篓”,确保所有已删文件不占用空间。











