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.
5. Try it out. Changes made on any of the calendars will now be synced. Let me know if this works for you. Thanks!
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