I'm currently developing an app which shall share user specific data between all Apple devices the user owns. Currently the data is stored local Core Data DB on each device without synchronization.
I read a lot about CloudKit and also about deprecation of CoreData in iCloud but couldn't identify the most promising solution yet.
What's your experience? What solution are you working on to sync your App on different devices?
Below find a list of possible solutions I'm investigating.
1. CloudKit - Key-value storage
Good to sync single values (e.g. App configurations) in the iCloud and sync over different devices.
2. iCloud Document storage
Stores and sync complete documents via the iCloud. The specific CoreData methods are marked as deprecated. An alternative is not yet mentioned in any apple document or programming guide. All guidelines are already offline.
3. CloudKit
New approach to store data in a public/private database located in the iCloud. Currently no offline cache supported. The device can access the data with a network connection only. Therefore, CloudKit is no real replacement for Core Data for iCloud. But CloudKit supports web based services, so it's possible to show the data on e.g. a homepage.
4. Realm Mobile Database and Realm Object Server
Seems to be an alternative. But own hosting of Realm Object Server needed. How to do that is still unclear for me. The Realm documents just explain how to setup a local server on a macOS/Linux device.
Maybe there are also some frameworks available, connection CloudKit with CoreData (e.g. GitHub projects, etc.).
I'm looking forward for you experience a solutions. Please, also describe the pros and cons.