Friday June 29, 2012

Core Data Sync Through Dropbox, or...Anything

If you’ve noticed, I’m on a Core Data/iCloud pain kick as I’m trying to figure out how to do it and if it’s worth it. I’ve just stumbled on TICoreDataSync which promises to sync through Dropbox.

TICoreDataSync is a collection of classes to enable synchronization via the Cloud (including Dropbox), or local wifi (coming soon), of Core Data-based applications (including document-based apps) between any number of clients running under Mac OS X or iOS. It’s designed to be easy to extend if you need to synchronize via an option that isn’t already supported.

I’ve poked around it briefly and it looks like it lives up to it’s hype. I plan to put it under some scrutiny over the next few weeks to see if it’s robust enough, but it can’t be any less reliable than iCloud. The bonus: I have the source right in front of me so I can trace through to find any problems. Try that with iCloud.

It looks like it builds transaction logs that are pushed to all registered clients, very similar to what iCloud promises. You have to use custom managed object and context subclasses so they are all wired up to the main engine behind it. It looks quite complex, but does seem organized.

If you’re stumped on a solution to sync Core Data, you might have good luck checking into this.