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.


In case of CloudSyncSession data is not persisted locally by the library. Overall, design principles are described in documentation:

  1. Persistence-free. Data is not persisted to disk.
  2. Testable. Code is structured in a way to maximize how much behavior can be tested.
  3. Modular. To the extent that it makes sense, different behaviors are handled separately by different components.
  4. Event-based. State is predictable, as it is updated based on the series of events that have previously occurred.
  5. 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.
  6. Inspectable. The current state of the session can be evaluated for troubleshooting and diagnostics.
  7. Focused. This project aims to solve a particular use case and do it well.

GitHub: CloudSyncSession

Reference: CloudSyncSession



Consider adopting CloudKitSession if design principles suit the app architecture.

QA engineer:

Business as usual.


Business as usual.

Leave a comment