.Mac sync problems: OMG teh Mac is so easy to use!!!

Having problems syncing Calendar in .Mac lately? My .Mac sync has been screwed up ever since I upgraded to Leopard. I found the fix I was looking for in this thread. Scroll down to a post by a user called forman that reads, "The inability to sync iCal in Leopard appears to be due to bad data in the SyncServices cache."

I'll reproduce the content here in case it goes away on Apple's forum:

The inability to sync iCal in Leopard appears to be due to bad data in the SyncServices cache. This problem is associated with the following error messages during a sync, as seen in the Console:

16/11/2007 10:39:19 com.apple.syncservices.SyncServer401 2007-11-16 10:39:19.389 iCalExternalSync403:10b ICalExternalSync NSException name:NSInvalidArgumentException reason:ISyncConcreteSession clientAcceptedChangesForRecordWithIdentifier:formattedRecord:newRecordIdentifier:: you can't change the record identifier from 93301291-42E6-427D-B674-CF73BD49AF08 to node_SubscriptionCalendar/p4: it is already associated with a different record.

This problem can be solved by clearing the cache out.

1. Quit all applications that use .Mac (Address Book, iCal, iSync, Mail, Safari). 2. Turn off .Mac syncing and unregister all computers in System Preferences. 3. Issue the following commands from the terminal: killall SyncServer cd ~/Library/Application Support mv SyncServices SyncServices-old killall SystemUIServer 4. Turn on .Mac syncing in System Preferences and click "Sync Now". 5. When a dialog appears asking whether to merge or replace data on .Mac, select replace all data on .Mac with data from the computer.

This information primarily came from the link below:


Note that after doing this, Transmit failed to re-register in Sync Services when I re-launched it. Type this to make it shows up in the .Mac sync list again:

~/Library/Application Support/Transmit/TransmitSync.app/Contents/MacOS/TransmitSync --registerClient