This was (for me) the holy grail of syncing. I wanted all the possible syncing to work in all the possible directions–so if I added an event (or changed or deleted one) on the calendar on my iPhone, it would be reflected on the other calendars, too–and vice versa and versa vice. On Mac and on PC. (probably not necessary to explain why this complicated syncing was necessary–but I know, from much googling, that others would like to be able to do it, too.)
At first it was looking like it really would not be possible. But then two new developments made it all work.
IPhone 2.0 included true Exchange integration, and Google Calendar released their Calendar Sync (PC only, damn it, but that was workable).
So here’s how it all works now…
On the iPhone, set up to sync mail, calendar, and contacts with Exchange. That’s easy one-step, and syncs almost instantly.
Then the Exchange server handles syncing all that info with Entourage (on Mac) and Outlook (on PC).
The Google Calendar Sync handles syncing Outlook with Google Calendar (I keep that running in a VMWare Fusion virtual Windows XP machine on a desktop Mac).
And Spanning Sync (on the Mac) handles the syncing between Google Calendar and iCal.
Believe it or not, the whole thing works. There is (at most) a 10-minute lag for any event to sync, but they all do reflect all the same changes, and the best part is that it works for the iPhone without connecting the cable to sync.
Of course, an open calendaring standard, shared by everyone, would make all these gymnastics unnecessary. But as long as there’s Microsoft Exchange around, I don’t hold out much hope for that actually coming.
When I try to set up exchange, it wants to delete my contacts and calendar that I already have from the iPhone. This is ok?
It’s the only way to do it. IPhone will work with Exchange only if Exchange is the ONLY syncing you do for contacts and calendar. That’s why, if you don’t have all your contacts and calendar events in Exchange, you’d better get them there before making the switch…and keep them all synced afterwards!