Restoring MobileMe sync functionality with iCloud in OS 10.8

First posted on the 20th July, 2012 – IT
Last modified on the 19th August, 2012, at 3:05 pm

When MobileMe was replaced by iCloud a number of syncing options were removed. These all appear to be based on the sync agent approach. According to Apple the syncing of the following items will no longer be supported in iCloud:

  • Dashboard Widgets
  • Dock Items
  • Keychain
  • Mail Accounts
  • Mail Rules, Signatures, and Smart Mailboxes
  • Mac OS X Preferences syncing


Although I moved to iCloud quite quickly only when I did a clean install of OS 10.8 did I remember what it was like before syncing.

This post documents my attempts to find either a fully or semi-automated solution or workaround for each of these issues. My tool of choice will be Unison as I currently use this to keep files in my home directory in sync between three Macs, a windows PC and a linux box.

The main aim is to work out is old MobileMe features can be implemented by simple file transfer or if a more complex script based approach is needed. For example in cases of conflict resolution discarding one of the changes might not be good and merging might be needed, as MobileMe did with KeyChains for example.

Dashboard Widgets: not tried/don’t care
As I don’t use these I don’t care about hot wo sync these at the moment.

Actual widgets are stored here:

~/Library/Widgets/*.wdgt

but I am not sure where their screen locations and instal status are kept. Need to fire up grep. Also not sure how different screen real estate is acconted for.

Dock Items not tried
Preferences and items appear to be stored in the preferneces plist file:

~/Library/Preferences/com.apple.dock.plist

Maybe just syncing this would work but am not sure about the folders as these might be absolute links and not relative with home directory.

update: Looking inside the plist files there are file URLs such as file://localhost/Applications/Xcode.app so these would be universal however there are also references to the names of the drives. Maybe a simple script with a global replace would work?

Keychain: possible 3rd party solution
This one is complicated, have tried Keychain2Go but is not ideal as I feel it defeats the object to have to open the client the the devices you want to sync. However, anything is better than nothing!

Mail Accounts: not tried
Relavant file could be:

~/Library/Mail/V2/MailData/Accounts.plist

Not sure how to use this at the moment.

Update: Syncing Accounts.plist file caused mail to crash, look like you need to sync the mailbox file structure too. Also old file has legacy info like mobileMe not iCloud so just bit the bullet on this one and manually added my six email accounts. Didn’t take as long as I thought!

Mail Rules, Signatures and Smart Mailboxes: Done
This appears to be possible in the OS, so although iCloud might not sync rules, signatures and smart mailBoxes, Mail.app and OS 10.8 Mountain Lion do!

All the relevant files appear to be in:

~/Library/Mail/V2/MailData/

including:


MessageRules.plist
RulesActiveState.plist
SyncedRules.plist
UnsyncedRules.plist

SmartMailboxesLocalProperties.plist
SyncedSmartMailboxes.plist

Signatures are in the folder:

~/Library/Mail/V2/MailData/Signatures/

Something is a bit messed up though with signatures on one device they appear as iCloud signatures and the other under All Signatures. Purging files and creating new didn’t help.

More details can be found here.

Application Preferences not tried

Most relevant files are in:

~/Library/preferences/*.plist

with a few folders with other files for specific apps here too.