Bugs & Fixes: Recovering lost contacts

13.08.2010
I sync my calendar and contacts data across my Mac and all my iOS devices (iPhone, iPad, and iPod touch) using the MobileMe option. On most days, this works spectacularly well. It means that, whenever I make a data change on any one of the devices, the change is propagated nearly instantly to every other synced device.

This same advantage, however, can occasionally turn around and bite you, leading to a total and potentially irrecoverable disaster. That's exactly what happened to me.

It all began when I launched my iPhone and discovered that my list of contacts, as stored in the Contacts app, had vanished. The Contacts database was empty!

I quickly surmised that my syncing strategy might precipitate a larger problem here. I was right.

I launched the Address Book application on my Mac. Empty.

I checked the Contacts list at the MobileMe Web site. Empty.

I opened Contacts app on my iPad and iPod touch. Empty. Empty.

I'm still not sure from which device the contacts were first eradicated. But what had happened next is clear: Having deleted all the contacts at one location, MobileMe syncing took over and deleted all the contacts from every other device--leaving me with an unwanted clean slate on all of my synced devices.

What had caused the initial disappearance? I am not certain (although I have my suspicions). I certain that I did not inadvertently delete the data myself. This symptom is not exactly new; there are numerous references on the Web to similar occurrences due to a variety of causes. None of the suggested causes matched my situation. I was not syncing from Entourage, I had not turned off MobileMe syncing, or done anything else cited.

In situations like this, however, investigating the cause is a luxury for another day. The more pressing question is: How do I get my contacts back?

The answer depends upon what you may or may not have done prior to the disaster. Here are the potential options:

If you keep regular backups of your Mac's hard drive, you're in luck. In my case, I perform a daily mirrored back of my entire drive. This meant that my non-eradicated Address Book data files were still available. To restore the data, I navigated to the Application Support/Address Book folder in the Library of the Home directory on the backup drive. From here, I copied the entire Address Book folder and placed the copy in the matching location on my active startup drive, replacing the same-named folder that was already there.

When I next launched Address Book, my full list of contacts was happily returned. Within minutes, the restored contacts had propagated back to all of my other devices.

But wait! Even with a daily mirrored backup, there is potential for trouble. Newer updated files replace the older ones with each backup. This means that, if a drive backup takes place before you recover the Address Book folder, the backup drive will contain the unwanted "empty" files. Oops.

That's why you should have a "versioned" backup, such as via . This type of backup maintains multiple older versions of files. Although I didn't need it in this case (as I recovered the files from the mirrored backup before it was too late), I also have an online versioned backup.

From the Address Book application, go to the File Menu and select Export -> Address Book Archive. This creates an archive file of your contacts. If needed, you can later use the Import command to reinstall the contacts from the saved file.

This works, of course, only if you have created the archive before disaster strikes. It will also only be as current as the date of your most recent archive.

The backup file for your iOS devices, as maintained via iTunes, contains the Contacts data. If you have not done a sync in iTunes since losing the data, you should be able to get it back via a restore. Fortunately, you don't need to do a complete restore--where you erase the iPhone's drive and restore everything, including the firmware. Instead, Control-click on the iOS device's name in the Devices section of iTunes. From the popup menu, select Restore from Backup.

Alternatively, I have seen discussions of how to use a utility, such as , to extract the needed data directly from the backup file and subsequently return it to your iPhone. The procedures typically are either overly complex or require a jailbroken device. I recommend avoiding the extraction approach, preferring Restore from Backup instead.

If one of your synced devices is an iPhone, go to Settings -> Mail, Contacts, Calendars and scroll down to the Import SIM Contacts button. Tap it. This will install the contacts contained on your SIM card to the Contacts app.

Unfortunately, this is not likely to be of much help, as the iPhone does not (as far as I know) transfer data from the Contacts app to the SIM card. However, if most of your contacts originally came from a prior import from a SIM card, this could bring them back.