Recover Data Lost Because of iCloud Sync Problems

I have been trying out Realmac Software’s Clear, recently, to keep task lists on my Macs, and sync them to my iOS devices. I like the app; it’s minimalist, easy to use, and avoids the cruft that many list and to-do apps add.

But then I lost data.

Clear syncs to iCloud, using Apple’s CoreData mechanism. I’ve seen problems with this in many apps in the past, and I’ve come to distrust it. I shouldn’t have even started using another app that syncs with iCloud, but I did.

The problem with Clear is that it doesn’t make automatic backups. If it did, I would have been able to restore from a backup. Fortunately, I sync my iOS devices to my Mac regularly, and my iPhone, Sugaree, had a backup from last night.

Itunes backup

The data loss occurred some time in the last 12 hours or so, after that last backup. So, with a couple of tools, and a bit of grunt work, I was able to find my missing data.

Clear lost one of my lists; all the others were intact. So I needed to find the data from that list – which was a list of articles I’m planning to write for this website – and copy its data. It wasn’t long; just about ten article titles. But it had a lot of important ideas.

To start out, I used iExplorer to access my iTunes backup. (It’s a coincidence that iExplorer is my current sponsor, but I chose to offer the developer a sponsorship because their app is so useful for this kind of troubleshooting.) In the backup, look for a folder with the name of the app whose data you want to recover. In this case, the folder is named AppDomainGroup-group.clear.

Iexplorer backup

Clear stores its data in an .sqlite file; for some apps, data may be stored differently, or in multiple files, depending on whether or not it syncs to iCloud. Right-click on the .sqlite file and choose Export to Folder. Save the file where you want.

Since it’s an .sqlite file, you can’t just open it in a text editor and access its data; you need a utility that will let you view that data. I used DB Browser for SQLite. Open the file and click the Browse Data tab. Each app will have different data structures, but for Clear, it was easy to find what I was looking for: a table named “tasks.”

Sqlite browser

The data I needed was in the “title” field; I double-clicked each one and copied the data, then plugged them into a different app. (For now, I’m trying ToDoist.)

That’s all I needed to do.

So, there are a couple of morals to this story. First, don’t trust iCloud. I don’t blame Realmac; it’s probably not their fault. I find it interesting that the data loss occurred overnight; I may have looked at my Clear list on my iPad yesterday evening, but I don’t recall doing so. If I had, I would have spotted that a list was missing. So my guess is that the data loss is due to iCloud itself.

Second, don’t use an app that doesn’t offer backups. I looked in my local folders and couldn’t find any readable files that I would have been able to recover from Time Machine backups. There’s a locally-stored .sqlite file, but it doesn’t contain the same data.

I won’t be trusting any important data to iCloud any more. I am slightly concerned about my contacts; I’ve had issues with them in the past. I know there are local and Time Machine backups that I could restore if I ever need to. But for the rest, iCloud is simply too precarious.