需删除~/library/application support/com.apple.notificationcenter/db及db-wal文件,重启notificationcenter服务,再触发应用通知请求以重新获得授权弹窗。

Mac上某个应用的通知权限被你手动点过“不允许”并勾选了“不再询问”,导致系统彻底封禁该应用的通知入口,现在想让它重新弹出授权请求——这需要绕过系统对“已拒绝且不再提示”的硬性锁定。
先清除该应用在系统层面的拒绝记录
打开“访达”,按Command + Shift + G,粘贴路径:~/Library/Application Support/com.apple.notificationcenter/db → 回车进入该文件夹。
找到名为db和db-wal的两个文件,将它们拖入废纸篓(无需清空,仅移出原路径即可)。
这一步必须做:macOS会把“永久拒绝”的状态写死在这两个数据库文件里,不删掉它们,后续任何操作都无法触发新的授权弹窗。
重启通知中心服务
打开“终端”,输入命令:killall NotificationCenter → 回车。
系统会立即退出通知中心进程,几秒后自动重启。此时db文件已被移走,NotificationCenter启动时会重建空白数据库,相当于把该应用的拒绝记录从系统记忆中物理擦除。
触发应用重新请求通知权限
方法一:直接运行目标应用并执行通知动作
比如打开“日历”App → 新建一个提醒事项 → 设置为“到达时提醒”;或打开“待办事项” → 添加带通知时间的任务。只要应用内部调用了UNUserNotificationCenter.current().requestAuthorization(),就会立刻弹出原始授权框。
方法二:用脚本强制唤醒(适用于不主动发通知的工具类App)
在终端中执行:osascript -e 'display notification "测试" with title "通知权限重置验证"' → 回车。若该App已注册通知类型,此操作会同步触发其授权请求。
注意:如果应用此前从未注册过通知类型(如某些老旧工具),需先在它的设置里打开“启用通知”开关,否则不会响应。
确认授权成功后的关键验证
第一步:授权弹窗出现后,务必点击“允许”,不要点“不允许”或关闭窗口。
第二步:立即前往“系统设置” → “通知” → 左侧列表中找到该应用 → 检查右侧“允许通知”是否为开启状态,且“播放声音”“横幅显示”等选项可自由调整。【若此处仍是灰色不可调,说明授权未真正生效,需重复前面三步】
第三步:发送一条测试通知——例如在“信息”里给自己发条消息,或让“邮件”收到新信,观察是否弹窗+发声。











