How to use iCloud with Google calendars

I have a mac mini and an iPhone 3GS. Just updated to iOS5 and iCloud and am at a loss to reconcile my previous life of Google calendars synced to my mac and iPhone with the new found iCloud goodness.

iCloud requires all calendars you wish to sync between your Mac and iOS device to be hosted on iCloud. The first time you turn on iCloud and set up calendars, iCloud copies over all you existent calendars over to Apple’s servers thus iCal displays two of every event. As it stands today, I have turned on iCloud for calendars and contacts and found duplicate calendar entries on my iCal. This is due to the fact that now iCal is showing an entry from both the calendars in iCloud and the local On My Mac calendars. I fixed that issue by unchecking the On My Mac  calendars under the calendars tab. Each Mac and iOS device (iPad, iPhone, and iPod Touch) functions as a client and subscribes to the calendars hosted on iCloud. Therefore it is important that you go into the calendar settings on your idevice and uncheck all the On My Mac calendars that sync with your idevice. The default calendar should also be on iCloud.

Previously I had a Google Home calendar and I subscribed to US Holidays on Google calendar and had them synced to both my iCal on the Mac and the iPhone via iTunes. Unfortunately I am unable to transfer my Google Calendars to iCloud and I do not think that this situation will change anytime soon. Thankfully there is a way to enjoy both services.

The idea is that I now have one set of calendars on iCloud that then syncs to both my mac and iPhone. I then have set up the mac and my iPhone to also sync separately to the Google Calendars so that on my mac and iPhone I see both the calendars from iCloud and also my Google Home and US Holidays calendars. This is how I set it up.

On the mac

  • All calendars are hosted on icloud. Copies of local calendars on the mac have been hidden, so duplicates do not show up.
  • On the mac iCal>pref>accts>caldav was used to subscribe to Google Home calendar. In the CalDav window under the delegation tab, one can also select the other google calendars such as US Holidays etc., that one has on the google account or can do it by subscribing as detailed below.
  • On the mac iCal > calendar > Subscribe was used to get US Holidays on iCal on desktop.
On the iPhone
  • All iPhone calendars are hosted on iCloud and sync with iCloud only and not the On My Mac local calendars.
  • On the iPhone CalDav was used to add the Google Home calendar on iPhone. This was added as described below. The other method to get the same result is to go to pref>mail,cont,cal>add acct>Exchange (leave domain vacant).
  • On the iPhone US Holidays is added by  subscribe under pref>mail,cont,cal>add acct>other>add subscribed calendar.
  • Therefore for the devices and the mac there are two calendar hosting services. Google Home calendars are displayed on the Mac and iPhone via CalDav, US Holidays are displayed on the Mac via Calendar>Subscribe and on the iPhone via subscribe under pref>mail,cont,cal>add acct>other>add subscribed calendar.
Hope this gets your devices working with both the cloud services again.