Si tu base de datos de notificaciones está corrupta, o simplemente quieres eliminarla por completo, puedes probar este script de shell para eliminar tu base de datos del centro de notificaciones
guarda por ejemplo en nuke-notif-db.sh
y hazle chmod +x
, ejecútalo desde Terminal
#!/usr/bin/env bash
DARWIN_USER_DIR=$(/usr/bin/getconf DARWIN_USER_DIR)
NCDIR=${DARWIN_USER_DIR%/}/com.apple.notificationcenter/db2
_ks() {
for a in usernoted notificationcenterui.agent; do
launchctl kickstart -kp gui/$UID/com.apple.$a &>/dev/null
sleep 1
done
}
cd "$NCDIR" 2>/dev/null || { echo 1>&2 "failed to enter db dir"; exit 1; }
[[ -e db ]] || { echo 1>&2 "notifications db does not exist"; exit 1; }
rm db.corrupt* 2>/dev/null
IFS='|' read -r rv _ _ < <(sqlite3 db "PRAGMA wal_checkpoint(TRUNCATE)")
if [[ $rv != 0 ]]; then
echo 1>&2 "error truncating WAL"
_ks
fi
sqlite3 db "DELETE FROM record" && _ks