iOS 4 & Google

In a previous post I mentioned my disappointment with the workarounds needed to enable CalDAV and calendar sharing on my iPhone 3GS. It seemed intentionally obfuscated to get the general public to spring for other (redundant) services. But, even after the workarounds, I found CalDAV to be a 99 yard liner, so to speak. It worked most of the time, but sometimes you had to load & reload the calendar app to get new or updated appointment to show up if they were added/updated via the web or iCal. I couldn’t help but think that there was, again, some intention behind the flaky support for a protocol that worked 100% in their desktop counterpart (iCal).

I am happy to say that Apple has not only fixed this (at least where Google accounts are concerned), but also made life even easier for everyone with iOS 4. Now if you setup any Google account (like a Gmail account or a Google Apps email) via the account setup interface it automatically allows you to enable calendar and notes for that account. And the calendar syncs instantly to changes made via web or desktop. This is a huge boon for my mobile lifestyle. I can’t be worried about missing an appointment because I set it up on the desktop or via the web interface when the iPhone wasn’t in my hands (or convenient).

But here’s a tip: do not enable a CalDAV account for the same calendar. It will send you back to the flakey sync behavior. Delete your Google CalDAV accounts first and then add the Google accounts with the Account Setup > GMail selection.

More About iPhone and Calendars

google_calendar_goes_caldav

Not happy with my new iPhone not auto-syncing my Google Calendar I did some investigation, and here’s what I discovered. If you let your iPhone sync calendars with your Mac, they are considered “desktop” accounts and not synced over wireless or 3g. And this is true even if the calendar account is a CalDAV calendar like Google calendar that should auto-sync over the network.

The fix, for those of us who want to sync a Google Calendar (or any CalDAV based calendar) on our iPhone and have it auto sync over the network regardless of how the calendar is edited, is this:

  • Turn off calendar sync for any CalDAV calendars in iTunes
  • Sync your iPhone
  • Goto your iPhone preferences > accounts > add account
  • Choose “Other” and then on the next screen choose “Add CalDAV Account”
  • Enter the account info.
  • Save the account and let it verify the credentials.

For those wanting to sync a Google Calendar the credentials are:

  • server: www.google.com
  • username: your Google username (e.g. )
  • password: your Google account password
  • description: whatever you want to call your calendar

That’s it. You now have a fully functional 2-way syncing calendar. Note: this will only sync the master Google calendar. If you want to sync any sub-calendars you need to replace the URL in the ‘Advanced Settings’ screen with the specific URL of the Calendar ID for those calendars. You can get the Calendar ID in the Calendar settings section of your Google Calendar account. Simply follow the above steps and then once setup, edit the advanced options to add the sub-calendar URL.