iPhone, iCal, and Google Calendar 3-Way Sync

DISCLAIMER: The following method is what I used on my personal computer and iPhone and found to be successful. I take no responsibility for anything bad that happens to your system. Always backup your data before doing anything. I use a Powerbook G4 – OS X 10.5.8 – with an iPhone 3Gs – OS 3.0.1. (I wish I had Snow Leopard, but, alas, it’s Intel only).

I just got an iPhone and wanted all my calendars to sync together. I had previously set up a 2-way sync between iCal and Google Calendar (gCal) using CalDAV, a free, open-source way to sync calendars. I also wanted to continue to use iCal as a live calendar and not have it function as a “read-only Master Calendar.” (See INSTRUCTIONS: The iPhone-iCal-gCal Sync Setup). Below are the instructions I used to successfully allow a three-way sync without duplicating calendar entries:

1. If you currently use a standalone iCal that you now want to be synced to gCal, then backup your current iCal: To export go to File > Export. And then save to your Desktop. Import this calendar into gCal to save all your current iCal events. If you don’t use iCal currently (or already have it set up to sync with gCal using CalDAV), then go to the next step.

2. Turn on iCal < -> gCal syncing. Follow Google’s directions to set up CalDAV support for Google Calendar in Apple’s iCal. Create an entry to verify that changes made in iCal are reflected in gCal, and vice versa.

3. Turn off calendar syncing in iTunes. Since I only have a single calendar that is shared between my iPhone, iCal and gCal, I unchecked “Sync iCal calendars” under the Info tab in my iPhone device. It is fine to select other calendars that you only want to sync between iCal and your iPhone, but DO NOT select the newly created CalDAV calendar.

4. Turn on iPhone < -> gCal syncing. Here you have two options: Option 1, Google Sync (Exchange ActiveSync). Option 2, CalDAV. The thread on the Google Calendar support form compares these two methods. The gist of the comparison is that with ActiveSync your calendar appointments are “pushed” to you. Updates made to a calendar will be reflected instantly on your iPhone or any other device which supports ActiveSync. Currently there can only be a single ActiveSync account on the iPhone, so if you already have one from work, then CalDAV is your only option at this time. Google Sync allows you to sync contacts and calendar. CalDAV can only fetch appointment data on scheduled intervals or manually whenever the iPhone Calendar app is run. It does, however, allow up to 25 calendars with colors matching the gCal scheme.

Both ActiveSync and CalDAV worked great. I chose to stick with CalDAV because I don’t need appointments pushed to me. Running iPhone Calendar and having it quickly refresh is fine with me.

Option 1, Google Sync
Option 2, CalDAV

5. Try it out. Changes made on any of the calendars will now be synced. Let me know if this works for you. Thanks!

References:
Enable Google Calendar in Apple’s iCal
How to configure Google Calendar CalDAV in iPhone 3.0
Which is preferred on iPhone CalDAV or Exchange?
Sharing calendars with Google Calendar, iCal, and the iPhone
CalDAV: CalDAV Calendar Sync
Calendar & Contacts Sync: Set Up Your iPhone or iPod Touch
INSTRUCTIONS: The iPhone-iCal-gCal Sync Setup


11 Responses to “iPhone, iCal, and Google Calendar 3-Way Sync

  • 1
    robert r
    September 4th, 2009 08:53

    My caldav events still do not appear in ical? I have followed the instructions to the T is a problem with mobile me or maybe with snow leopard?

    [Reply]

    Scott K Reply:

    @robert r, Not sure. I’m running Leopard (unfortunately need to upgrade my Powerbook before getting Snow Leopard) so can’t comment on that. Did you try it with Google Sync and see if it could work that way?

    [Reply]

  • 2
    Luke
    September 9th, 2009 21:06

    This is great, except I can’t get the delegates to appear in my iPhone when using the calDAV method. The main calendar works fine, but I have several other calendars which I use to keep things color coded (classes, work, personal, etc…). Google Sync method will allow me to show all the calendars, but it mixes up the color scheme (annoying, but usable). Are there any fixes for these issues?

    [Reply]

    Scott K Reply:

    @Luke, Does this help? http://nathanhammond.com/google-calendar-caldav-delegation-on-iphone-os-30

    The problem with the color scheme using the Google Sync method is known (and, hopefully, being worked on).

    [Reply]

  • 3
    Curious
    November 27th, 2009 00:42

    Thanks for the awesome instructions. However, I have a question about this.

    I, too, have CalDAV sync between gCal and iCal on my Mac. It’s working great. But I start to question how reliable a three way sync with CalDAV is.

    For instance, say I create an even in iCal, let’s call it “Event 1″. This will automatically get uploaded to gCal, and when I open up Calendar on my iPod or iPhone, “Event 1″ will get synced there, too (since it looks like a new event to the iPod). So, right now, “Event 1″ is in each of the three locations.

    Now, let’s say I delete “Event 1″ in iCal. It uploads the delete to gCal which then deletes it on gCal. However, what happens when I go to sync my iPod or iPhone’s calendar since “Event 1″ still remains on there? Won’t gCal interpret it as a new event that was created on the iPod and recreate it in gCal instead of deleting it on the iPhone or iPod? Do you get what I am trying to say? Have you ran into anything like this where it doesn’t delete correctly or you get duplicates?

    [Reply]

    Scott K Reply:

    @Curious, Good thoughts. Makes sense that duplicates could be made that way. I’m not sure exactly how the CalDAV protocol handles these things. It might try to get around this by associating a timestamp with each entry. Then it would compare timestamps when syncing to make sure it is updating with the latest version. I haven’t run into this problem. This may because I do not use iTunes to sync the calendar. (I purposely left that box unchecked in iTunes.) I completely allow it to update through the “cloud.” But, it seems to do a great job of caching the entries when not on a 3g or wifi network. I can create entries when offline too. Here’s a link to a page from 2004 that explains how conflicting changes can be handled: http://lists.osafoundation.org/pipermail/ietf-caldav/2004-August/000021.html

    Let me know if this helps.

    [Reply]

    Dottyau Reply:

    I worked it out. The previous instructions I was following duplicated the sync when google and iCal merged. I just stop syncing iCal.

    [Reply]

  • 4
    dottyau
    November 29th, 2009 20:24

    hi. it works. thanks. the link i got your instructions was crap. Yours was easy to understand and able to work without duplication.

    [Reply]

  • 5
    tv
    March 26th, 2010 07:12

    I cannot get ical and gmail linked. The error said that gmail account cannot be found.

    [Reply]

    Scott K Reply:

    @tv, Hmm. Not sure. Are you using your full gmail address as the username? At what step above are you getting this error?

    [Reply]

  • 6
    Martin
    April 30th, 2010 15:07

    so..i have agonized over this! I am doing it to the “T”. its not doin it. I need some clarification..PLEASE :-) I bought an iphone first.. (april 2009) got the iphone calendar filled with stuff. I loved the apple look and feel so much… I bought an iMAC our home (nov 2009) (I am the only “named user account” my wife and kids don’t have a “side”). I sync right now with itunes and set itunes to sync with ical. At this particular point in time, I only had one calendar on the side pane of ical….it was from my iphone and it was called “Calendar.” I then started rock in rollin. Inside the ical program, I named the “Calendar” “Family” and then I added 4 new “SUB” calendars to the left side pane under the arrowed “CALENDARS.” Called them work, wife, son, daughter. I made them all different colors and added events to the correct one when needed. I.E. my work schedules to “work” & baseball practice to “son” etc… Well then I find out that there is this great thing called Google Cal!!! And how cool would it be to get all 3 talking together. BUT!!!! I have never used google cal before…it is blank white. When I export as the instructions say to… I then import the data and what do ya know??? there’s not 5 calendars….ITs only One big one and it green????? is the problem not being able to separate the export data?? If so, how do you import each of the 5 calendars I have separately to google? Also will the duplication be avoided… When i did the process the first time, once ical fetched to google (one min refresh like you suggested) I had duplicated events for all my events. I have snow leopard and its all up to date. Sorry for the long post but this would be great to figure out. Hope you can help

    [Reply]

Leave a Reply