We built a custom solution at SeatMe to sync multiple iOS devices with offline support to a central database. There were a lot of edge cases that make it pretty difficult.
There was the embedded mongo (or maybe couchbase?) db available for iOS that does multi-master sync that was being developed for a while that might work though.
I use Mongo to store entities. I front that with a relational database to a. map entity locations and b. hold associations. That lets me track entities by device/application/users (one item can be shared bu multiple apps and multiple users, each using multiple devices). I want to be able to disable devices and user accounts. Only the creator of an item can hard delete an item, and so on. My code is custom too, because there's nothing out there I could find that does that.
I already use sqlite in the device (postgres in the server) and have the app almost finished, so I wish to not switch datastore, specially one that is not relational/transactional.
There was the embedded mongo (or maybe couchbase?) db available for iOS that does multi-master sync that was being developed for a while that might work though.