I have an issue in Catalina that I'm not sure how to solve. Whenever a notification from Reminders comes through on my Mac, it wakes the computer from sleep, which in turn wakes up the external display I have it connected to. Do Not Disturb is turned on while the display is sleeping and the screen is locked, and has been this way for as long as Do Not Disturb has been a feature of macOS. This issue, however, started occurring with the very first beta of Catalina, and persisted through the public release and now even the current beta. It never happened prior to Catalina. I have recurring reminders at 7:00 AM every day for when I wake up, and it lights up my external display every morning. What's worse, if I have my Apple Watch on and a reminder notification comes through on the Mac, when the screen wakes up it also unlocks. I'm at a loss, unless this is just a Catalina bug that will have to be fixed eventually.
MacOS – Notifications from Reminders Wake Screen in Catalina
catalinado-not-disturbmacosnotificationsreminders
Best Answer
It looks like Apple no longer thinks of Reminders as just notifications.
No matter what
pmset
settings I have tried,pmset -g log
shows entries like thisThat tells me that when the computer goes to sleep, the Reminder daemon is setting a wakeup request for the next time a reminder goes off. This is true even with "Wake for network access" and "Power Nap" turned off in Energy Saver. It also tells me that turning off "Power Nap" does not, in fact, keep the computer from waking up during sleep. (Turns out that maintenance wake is for Find My Mac, but that is another story.)
It appears there is no nice way to fix this.
Disabling Reminders does not work
sudo pmset schedule cancelall
does not keep the wakeup from being scheduled when the computer goes to sleep.The only thing I found that worked was to disconnect Reminders from iCloud and then reboot the computer. Of course, this means that reminders do not show up on the computer ever at all.
This does not work either
I thought I could fix this by editing platform default setting plist, as explained below. However, the plist is a signed part of the PlugIn, and of course editing caused the signature not to match, so it did not load. I am leaving this here in case someone wants to build on this to find a different way to override the setting.
Edit the platform setting plist
board-id
by runningioreg -l | grep board-id
, which should output something like(replace
Mac-0CFF9C7C2B63DF8D
with the board ID output by the previous command) and save a copy of it somewhere safe, so you can restore it if something goes wrong.PlistBuddy
if you have it and can find it, orvi
, or maybe you want to edit a copy of the file before you get into Recovery mode and have it handy. With a text editor:PlistBuddy
/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resource
directory, keeping in mind that if you are in Recovery mode, that directory will be under/Volumes/<something>
.<boot-id>.plist
file to this directory, overwriting the existing version. The file name must match the original. Again, keep in mind that in Recovery mode, your copy will be under/Volumes/<something>
Be prepared for this to be reset the next time you update the OS.