在Mac下同步通信录到Google、Windows Phone

因为我的手机坏了,就从朋友手里借了个Dopod S1来用,但是和Mac同步数据就成了一个问题了。刚开始用SyncMate来同步,也还可以,但是最近总也是连不上,无法同步。找了找看到Google对Windows Mobile的同步支持也不错,就可以使Mac同步到Google,Google再同步到Windows Mobile,这样还省得带数据线了。Mac OS X 10.6.2的Address Book可以直接和Google Contants同步,而10.5.x必须要有一个iPhone/iPod和iTunes同步才可以和Google同步(好奇怪的策略),没有iPhone/iPod的话就要Hack一下了,具体方法看这一篇。10.5和10.6的同步的范围有一些差别,10.5是同步Gmail里的All contacts,而10.6里则是只同步My Contacts部分。不过这个和Google的同步好象不太靠谱,所以就有了这一篇,其中有一个回复说明Google Sync Client是作为一个App client存在的,必须搭上MobileMe或者其他同步Address Book的服务才可以进行同步。下面两行就是把Google Sync Client换成了server类型,也就直接可以使用iSync的Sync Now来同步了。

sudo defaults write /System/Library/PrivateFrameworks/GoogleContactSync.framework/Resources/ClientDescription Type 'server'
sudo chmod 644 /System/Library/PrivateFrameworks/GoogleContactSync.framework/Resources/ClientDescription.plist

也可以用命令行来手动的触发同步。通过Console.app可以看到sync产生的log,来确认同步是不是在正常进行。

默认的同步间隔是1个小时,可以通过修改~/Library/LaunchAgents/com.google.GoogleContactSyncAgent.plist文件来改变同步间隔。

<key>StartInterval</key>
<integer>900</integer>

如此一来Mac和Google的同步就搞定了。而Windows Mobile和Google的同步就简单多了,看这一篇就可以了。

Update: 在Google Contacts里写新增用户的时候要写成”名 姓”的格式,名在前,姓在后,中间有空格。这样同步到Address Book里的时候姓和名的位置才是正确的。


Last modified on 2010-03-19