How I fixed my annoying Apple Watch birthday calendar issue

Ouriel Ohayon
5 min readOct 16, 2018

Alert: this is a power user post and probably a little geek. But the problem has been driving me nuts for years and no one could help me, even Apple. I was so happy to find a solution, I decided to share both the problem and the solution.

Context: I have over 7000 contacts, because of prior contact syncing with Facebook (which was once integrated in iOS) and other apps they are mostly all filled with birthdays (sometimes of people I can t even remember). I also have a Google account (with a built-in Birthday calendar) and iCloud Calendar all synced on my Mac/iPhone/Watch via iCloud.

The problem was simple: on my Apple watch, in Calendar app (the default app of Apple), the birthdays of my contacts were showing up although I specifically unchecked the “birthdays” calendar not to show at all. It was not showing on my Mac., not on my iPhone. Just on my Watch.

Always showing birhdays

It does not seem disturbing at first because, alerts were not pushed, but on the Watch, it was simply taking sometimes several Persistent lines per day (meaning they will stick to the top of the watch screen as you scroll the day) and hiding my calendar true events. Really annoying.

Watch App on iOS. The Birthdays calendar is unchecked but Birhtdays still show

And there is no obvious way to delete entirely this Calendar. Apple forces it on you. There is only an option to “uncheck” this calendar, which is not a solution

td:lr the solution is to delete every single birthday entry from your contact app on Mac which syncs with iCloud

I tried everything that was obvious to fix this

  1. unpair/repair watch

2. Change watch

3. Change phone

4. Check/uncheck the birthday calendar

5. Remove calendar syncing from iCloud/Add again

6. Remove mirroring Calendar from Apple Watch and chose Custom instead

I could not find a solution. The damn birthdays were still showing

I contacted Apple Support via the iPhone support App.

Apple Support Trying to help. Useless

I talked to 4 different representatives and senior advisors. They were clueless in fixing that issue. They first pointed that it was a Google account issue. But I knew it would not help and I knew it was not because those same birthdays were not showing at all in the Google calendar iOS app (with or without birthdays selected). I knew it was an iOS/Mac issue. Apple asked me to bring the watch to a store to check it. But I knew 100% they would not help. this was not a device thing Why?

It was a widespread software issue because many people complain about it through the years. Sometimes it is worth because notifications will be pushed and sometimes it will show also on your Mac calendar and iPhone calendar by force even if you don t want.

So here is what i did (hint of solution)

  1. I tried to delete the birthday entry in Contacts of one the birthdays in my Contacts App on Mac
  2. i checked my Watch: Boom the birthday was gone

If you manage to do the same thing successfully from your set up, then this post and solution is likely for you.

So there I had it. It was not because of Google calendar. I just had the confirmation that actually birthdays calendar is actually built from the contacts app birthday entries. Apple does not ask you permission to build this calendar: it is there as long as you have contacts and birthdays in it. There is also no option to entirely delete this birthday calendar. Hence the problem

Impossible to delete or remove Calendar

The solution

It was simple: I had to find a way to entirely delete all birthday entries automatically (i was not going to do every contact 1 by 1 manually) from the contacts app on the mac. Since I never check them and Facebook and Linkedin do a pretty good job at reminding you of the birthdays of people you know, this is an entry I don t need at all

How to remove all birthdays from the contact app at once? I inquired. I looked at Automator. Not helpful. I found some Applescripts on the web that pretend to do that: but they don t work.

I went and asked for Help on Facebook asking someone to help me write an Applescript that automatically deletes all birthday entries based on the script i started to assemble from bits and pieces.

A friend of mine came with another approach. A terminal command that does exactly that.

Here is what I did

  1. Totally back up first you Contacts (Export> Archive) before any manipulation
  2. Open Terminal on your Mac
  3. Run this 2 commands (copy/paste + press enter)

sqlite3 ~/Library/Application\ Support/AddressBook/AddressBook-v22.abcddb “select * FROM ZABCDRECORD”

and

sqlite3 ~/Library/Application\ Support/AddressBook/AddressBook-v22.abcddb “update ZABCDRECORD set ZLUNARBIRTHDAYCOMPONENTS = ‘’”

Those 2 commands will replace every birthday entry with an empty field

4. Reboot your computer

5. Open Contacts on Mac

Boom! All birthday entries from Contacts are gone. Forever. But

It’s not over yet.

When i open the watch app the birthdays were still there and on my iPhone, if I checked the birthday calendar: they were still there even for contacts with no birthday entries since my Contacts synced via iCloud with my Phone contacts.

The final step

  1. in iCloud settings of your iPhone remove Calendar/Contacts
  2. reboot phone
  3. Add Calendar/Contacts again in iCloud syncing again. Wait.
  4. make sure the Watch mirrors Calendar / Contact settings of your Phone

Boom! it is All gone. Entirely. No more stupid Birthdays.

Final words

Clearly there is something wrong in the world of iCloud sync. I had to go Terminator on it in order to fix the problem. But I finally found a solution and hope it will help others [careful you will lose all your birthdays if you count on them…]

Disclosures: i cannot guarantee this will work for everyone and cannot guarantee that it may not cause damage. back up everything before you do this.

--

--

Ouriel Ohayon

CEO @ZenGo. The most secure crypto wallet. co-founder @isai (VC). http://ZenGo.com