Having been happily using a combination of OSX and iOS for a few years now I’ve recently expanded my device collection with a google nexus 7 tablet. I’ve been using a separate IMAP based email account for a while so this was easy to set up on the new device, but I also wanted my calendars to work.
Up until this point I’d been using the iTunes based syncing to manage my calendars between my local copy of iCal and the calendars on my iPod. This was somewhat inconvenient since the calendars would occasionally be out of sync, but for the most part it worked well.
Now that I had an android device I wanted to be able to both view my events on my computer, iPod and tablet, and be able to create new events on any of these devices and have them sync to the others.
I read a few different howtos for how to achieve this, but thought it would be worth recording how I made it work in the end since no single guide.
Moving data to google calendar
Since all of the iCal events I had were stored in a local database on my mac, and since I didn’t intend physically connecting my tablet to my computer to sync I realised that I’d need to move my events into google calendar and use that as the central repository. In my existing iCal I’d set up a few different calendars for work / home / other event types, but although google calendar can be made to support this, it’s really designed to have a single calendar within which you can customise the colour with which different events are shown. I therefore decided to merge my various calendars into a single google calendar.
It’s possible to connect a google calendar to iCal using iCal account preferences and adding in your google credentials, however this enables sync in only one direction (pulled down from google), none of your existing events are synchronised to google. You can send individual events to your google calendar by dragging them into the google entry in the calendar list, but this won’t work for large numbers of events.
The easiest way to transfer all of the events was to export each of my calendars as an ics file by selecting them in turn in the iCal calendar list, and then selecting File > Export > Export. One you have the collection of iCal files you can go to the google calendar web page. Under the “Other calendars” drop down there is an option to import events from an iCal file. If you do this for each of your files then all of your existing events will be copied into google calendar.
Adding new events via iCal
Once all of your existing iCal events have been imported to google calendar you can then delete the local calendars from your iCal preferences. You can add your google calendar by going to iCal > Preferences > Accounts > Pressing + to add an account > Select ‘Google’ for the account type and then entering your google credentials.
To ensure that new events go into this calendar go to the “General” section of your preferences and select this calendar as your Default Calendar.
Syncing calendars to an IOS device
My first attempt at putting the google calendar information on my iPod was to use the iTunes sync options and selecting the google calendar I’d added to iCal. This did indeed cause all of the events to show up in my IOS iCal, but new events could only be added to the local calendar and wouldn’t therefore have passed through to my other devices.
The correct way to do this was to add my Gmail account as an account in the general IOS settings. Under Settings > Mail, Contacts, Calendars I chose “Add account” and then selected Gmail – some guides (including ones from google) say to use Exchange or CalDav, but only the Gmail option worked smoothly. You simply need to enter your gmail credentials, and then once these are verified you can turn off email sync if you only want to import calendar events. Once this was done the calendar showed all of my events, and new events which were added synchronised over to my computer and tablet the next time I was attached to a network.
I now therefore have the same calendar available on my computer, tablet and iPod with the ability to make changes on any device. As a bonus I can also choose to share the calendar with the rest of my family so they can see my events.