Mac Calendar is … almost great!

I’ve been using the Mac Calendar app for so many years, it’s one of my favorite applications on Mac that helps me manage multiple calendars, work, private, shared, all in one place! But.. and that is a big BUT, the Exchange Sync in the Mac Calendar App has for many years been quite unreliable, it works and then it just stops working without any indication of a problem, the solution for me has always been to restart the “exchangesyncd” service in MacOS manually and move on with my life.

But I got tired of finding my Mac Calendar being “out of sync”, so I decided to automatically restart the Exchange Sync – Service every morning at 06:00, and guess what? I haven’t had any issues since!

Here is how you do it…

Open your Terminal and create a .plist file under “~/Library/LaunchAgents/” and name it something appropriate like, “com.user.restart_exchangesyncd.plist”.

Add the following to that file (edit the label if needed):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
 "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.user.restart_exchangesyncd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/bin/bash</string>
        <string>-c</string>
        <string>launchctl stop exchangesyncd; launchctl start exchangesyncd</string>
    </array>
    <key>StartCalendarInterval</key>
    <dict>
        <key>Hour</key>
        <integer>6</integer>
        <key>Minute</key>
        <integer>0</integer>
    </dict>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

And edit the “hour and minute” attributes to what ever suits your needs.

Then in order to activate the restart, make sure to load the .plist.

launchctl load ~/Library/LaunchAgents/com.user.restart_exchangesyncd.plist

That’s it! You’re done!

You may also like...