Just recently we announced Canopy, and now there is another library to sync data over CloudKit.
CloudSyncSession is a Swift library that builds on top of the CloudKit framework to make it easier to write sync-enabled, offline-capable apps.CloudKitSession
In case of CloudSyncSession data is not persisted locally by the library. Overall, design principles are described in documentation:
- Persistence-free. Data is not persisted to disk.
- Testable. Code is structured in a way to maximize how much behavior can be tested.
- Modular. To the extent that it makes sense, different behaviors are handled separately by different components.
- Event-based. State is predictable, as it is updated based on the series of events that have previously occurred.
- Resilient. Recoverable errors are gracefully handled using retries and backoffs. Non-recoverable errors halt further execution until the app signals that work should be resumed.
- Inspectable. The current state of the session can be evaluated for troubleshooting and diagnostics.
- Focused. This project aims to solve a particular use case and do it well.