Original response at: http://apple.stackexchange.com/questions/29832/can-i-sync-address-book-to-icloud -on-snow-leopard
Answered for me by:
http://apple.stackexchange.com/users/9058/patrix
patrix
As Jonik posted, this method does work with Snow Leopard. It did take some fussing with for me to to get it to work. For some reason the directions from the blog post were ambiguous, so here is another wording of essentially the same thing with an additional tip at the end.
Create an Account in Address Book 5 with CardDav Setting
Username: yourname@domain.com Password: password Server: p00-contacts.icloud.com
If you find this step gives a "Address Book couldn't discover the account settings for the CardDAV server" message, be aware this is only a warning. Press the Create button again, and your input should be accepted anyway.
- Load Safari and go to icloud.com and login
- CMD-OPT-A (open activity viewer)
- At the top of the list should be something like https://p03-contactsws.icloud.com/co/mecard/?dsid=12341234
- You need the 8-9 digit number, you may see it on multiple lines. You also need the p00-p10 number, this is the iCloud server you are on.
- Open the correct AddressBook Configuration.plist in your favorite editor. This file is located in your home directory, in ~/Library/Application Support/AddressBook/Sources/. Note that another Configuration.plist file exists in the ~/Library/Application Support/AddressBook folder, but we need to edit the file in the Sources folder.
- Change the servername property to where p03 and 12341234 is adjusted to what you found. https://p03-contacts.icloud.com:443/12341234/principal
- Change username to username%40domain.com:password (replace username/domain with your login you used on icloud.com). Don't miss adding your actual password to the string behind "yourusername%40domain.com:" (and yes it's unencrypted and stored as such in ~/Library...)
- Save and close.
- Open address book and if it's not syncing immediately, set your password in the settings. For some reason my wouldn't sync until I did this.
The completed plist should look like the following...
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>_className</key> <string>PHXCardDAVSource</string> <key>addressBookName</key> <string>card</string> <key>disabled</key> <integer>0</integer> <key>haveWriteAccess</key> <integer>1</integer> <key>isSharedABAccount</key> <integer>1</integer> <key>name</key> <string>iCloud</string> <key>refreshInterval</key> <integer>0</integer> <key>serverSupportsSearch</key> <integer>1</integer> <key>servername</key> <string>https://p03-contacts.icloud.com:443/123456789/principal</string> <key>username</key> <string>user%40domain.com:password</string> <key>usesKerberos</key> <integer>0</integer> </dict> </plist>
This works perfectly on: SnowLeopard 10.6.8 iMac, AdressBook 5.0.3/iCloud/iphone4s 5.1.1