Prior to Yosemite, Notification Center settings stored in an sqlite db in ~/Library/Application\ Support/NotificationCenter/
Now this folder does not exist anymore, where does the OS store those settings?
TIA!
Prior to Yosemite, Notification Center settings stored in an sqlite db in ~/Library/Application\ Support/NotificationCenter/
Now this folder does not exist anymore, where does the OS store those settings?
TIA!
The database has moved on Yosemite. The following command takes to you to its new location:
cd `getconf DARWIN_USER_DIR`/com.apple.notificationcenter/db
FYI, the location has moved. It is now:
cd `getconf DARWIN_USER_DIR`/com.apple.notificationcenter/db2
~/Library/Prefenreces
.
The notification settings are stored in
`~/Library/Preferences/com.apple.ncprefs.plist`
nc
stands for Notification Center.
The database at
`getconf DARWIN_USER_DIR`/com.apple.notificationcenter/db2
only stores the notification state per app, i.e. if an app icon should have a badge (and what number that badge should display), if the user has temporary muted notifications for an app, how many notification has an app delivered, how many of those are currently displayed, how the notifications of an app are currently grouped together, and so on.
So the database is constantly updated whenever a notification is generated by an app or received via push notifications and displayed to the user. But if you make changes to the notification settings in the System Preferences, that database is not touched at all only the Plist is altered.
Also if you delete the database (and kill the notification center processes), all notification state is lost but none of your settings will be lost. On the other hand, if you delete the Plist (and kill all notification center processes as well as cfprefsd
), all your notification settings are lost but none of your notification state.
getconf DARWIN_USER_DIR
if I can't run external process from my code that needs access to the notification db?
Commented
Apr 4 at 6:29
Because I was looking for the file that notifications are stored in I came to this page (using macOS 10.13.6 High Sierra).
Here are some facts:
getconf command … with the DeviceVariable and DeviceName parameters, [returns] the value of the disk device name or location, for the device path specified by the DeviceName parameter
The above code returns (with "cd" omitted!): /var/folders/_d/pg2g__g17nzfwrv64j8ddvn80000gn/0//com.apple.notificationcenter/db: is a directory
Inside this/my folder I found: db db-shm db-wal db2upgraded
When some action takes place (I sent a notification) only db-wal
gets updated immediately. So notifications are "registered" there somehow; interestingly, recurring ones are listed several times, meaning, a kind of "history" could be created once the db code is "translated".