ICloud – Reminders badge shows wrong count on different devices

icloudreminders

I have an iPhone, iPad, MacBook and Mac mini and am using Reminders on all my devices synced through iCloud. I have several lists created and no incomplete items at the moment. However, the Reminders badge count on MacBook shows "2" while on Mac mini it shows "1". On both iPhone and iPad the count is none ("0"), which is correct. If I check on my iCloud.com account the count is also none.
Where do these phantom alerts come from then? And how do I get rid of them?

Best Answer

TLDR: Launch the Calendar app, go to Settings, Alerts, then enable "Show shared calendar messages in Notification Center" and reboot.

Longer explanation follows.


I was having this same problem: no badge on my iOS devices, but a badge of "1" on my Mac.

After searching through the Console app, I found some messages from CalNCService that indicated it was requesting a badge count of "1" on behalf of a EKCalendarInviteReplyNotification. This suggested that the badge was the result of some activity on a shared Reminders list. It even printed out the name of the list in question - a shared list that I had "left" a while ago.

But, there were no notifications in Notification Center related to this list. Well, it turns out the notification was being filtered out by a setting in the Calendar app. I went to Calendar.app -> Settings -> Alerts and enabled "Show shared calendar messages in Notification Center".

That by itself did nothing, because the event was already filtered. So I went to Activity Monitor and force-quit the CalNCService. I restarted the Calendar app so it would restart the service (rebooting would do the trick too), and BOOM, the system presented me with the missing notification!

The notification was that I no longer had access to this shared list (sigh, who cares). I'm guessing the person who originally shared it with me had deleted it. So I simply dismissed that notification and the badge went away.

Bonus explainer:

Why does Calendar have anything to do with Reminders? It's because Reminders, internally, was originally (and seems to still be) implemented using "secret" hidden calendars. They did this because, in the days before iCloud, Calendar syncing was one of only a handful of ways to share data between devices. So you could sync and share your Reminder lists even if you were using Google or Yahoo or whatever else. Another way to share data was through email servers - which is exactly what the Notes app did. Reminders == Calendars, Notes == Emails.

Clever at the time, but I'm sure the engineers are quite sick of it now.

Related Question