Sync iPhone calendar, iCal and Google calendar
By Nurgak
First things first
If you wish to synchronize your iPhone and iCal over the air you can take advantage of Google Calendar, not only will your calendars be synced both ways, but you will always have access your calendars from the internet should anything bad happen to your stuff.
Note that your iPhone will stop syncing your calendars when connected to your computer by USB, but that will be obsolete once you sync them over the air.
If you want to sync your calendars your data must reside on Google's servers, that means you must upload all your calendars to Google. We'll first sync iCal with Google Calendar and then tackle the iPhone (or any phone that supports CalDAV - which is most smart phones).
Export your iCal calendars
First we need to export your iCal calendars from iCal and import them to Google Calendar, don't worry about losing your data in the process, everything is safe and can be undone.
In iCal select your calendar and go to File > Export... > Export... (yes twice), it will export it as a *.ics. Do this to all of your calendars individually, exporting iCal archive won't work.
Save the calendar(s) where your can find them. Additionally you just backed them up, which is always good.
Export your calendar
Import to Google Calendar
Now we'll import all your calendars to Google Calendar, naturally you have to have a Google account to access Google Calendar.
When you're in Google Calendar in the left column under "Other Calendars", click on Add > Import calendar, start with your main calendar, import it and rename it if you want.
For additional calendars you have to make a calendar in Google Calendar before you can import it, since you'll have to select the calendar in which you're going to import it into.
Import your iCal calendars into Google Calendar
Sync with iCal
In iCal go to iCal > Preferences > Accounts tab. Click on the plus in the lower left corner and select CalDAV (do not select Google, it won't let us add more calendars later on), enter your Google username and password and in the server address enter:
https://www.google.com/calendar/dav/USERNAME@gmail.com/user/
where you replace USERNAME@gmail.com with your own email address.
Sync with iCal
Hooray!
Now you just synced your fist calendar, you'll notice it'll appear under its own label in iCal, you can rename the label (Right click > Get Info), but you cannot remove it.
You might see everything in double, that's because the local calendar you uploaded before isn't disabled yet, I'd delete it altogether since now it's safe on the Google's servers and you backed it up anyways.
Sync another calendar?
If you wish to sync more than one calendar you'll have some work to do: if you go back to iCal > Preferences > Accounts you'll see a Delegation tab, it will show you the list of all your calendars, you can select them and they'll be synced, but they won't sync with your iPhone over USB and it won't look pretty in iCal as they'll be under their own tabs and sub calendars.
If you want your iCal pretty you'll have a bit more work to do: under that Delegation tab mentioned before deselect all the calendars. Now make a new account like before, by clicking on the plus sign. Again select CalDAV, enter your user name and password, but for the server address you'll have to go back to Google Calendar.
In Google Calendar select the next calendar you want to sync in the left column and select Calendar settings from the drop down. All the way down there's Calendar Address, we need the long string that goes something like: awfg8s7g809sa3lkrn38zds@group.calendar.google.com.
Copy this address in the USERNAME@gmail.com part of the string below:
https://www.google.com/calendar/dav/USERNAME@gmail.com/user/
That's your address, now copy and paste the whole thing in the server address in iCal.
Get the calendar address
Syncing with iPhone
On your iPhone go to Settings > Mail, Contacts, Calendars > Add Account... > Other > Add CalDAV Account, enter www.google.com in server field, your Google user name and password, give a meaningful name in the description field or let it be.
If you have only one calendar you're done at this point, go see your Calendar app and wait until it syncs.
More calendars?
To add more calendars you have to go to https://www.google.com/calendar/iphoneselect and select them from there, hit save and you're done.
Foot notes
Now everything should work fine, if you modify something in one calendar the changes will be reflected in other calendars.
You can safely delete your local iCal calendars now, remove the calendar syncing between your computer and your iPhone in iTunes and give yourself a pat on the back.
Comments
Hi - This didn't work until I came out of G/calendar and opened it again, then re-did step 'Sync with iCal' again. Also, the format of the iCal account settings is different on my iMac..(?)
Anyway, the reason I'm making this comment to ask... where are all my recurring appointments? No sign of them..
Regards, MW.
Further to my last - all my recurring appointments were in a different calendar - so I'll have to try to export those into the other one... or something. MW
pagaille 23 months ago
After having musing one hour or two around to find the right answer, I found the easiest and most beautiful solution as the following :
1. follow google's instructions to setup your main account using Exchange (heck !) protocol.
2. ON YOUR IPHONE, launch Safari and go to m.google.com/sync - don't forget to choose ENGLISH (US) language, it doesn't work in other languages (at least french doesn't work)
3. Authenticate and the select the delegates you want to add to your iphone's calendar.
4. Keep in mind that the calendar's color will be choosed automatically in the following order : red, orange, blue, green, purple. Add them one at a time if you want to choose the color order.