An advanced sync engine for Core Data and CloudKit with offline editing, field-level deltas, and support for private, shared, and public databases.
CloudCore is an advanced synchronization engine for iOS and iPadOS that connects Core Data with Apple's CloudKit service. It solves the problem of keeping local Core Data stores in sync with iCloud databases, supporting offline editing, differential synchronization, and multiple database types. Unlike Apple's native solution, it provides field-level updates, explicit CloudKit metadata, and fine-grained control over what gets synchronized.
iOS and iPadOS developers building data-intensive applications that require robust synchronization between Core Data and CloudKit, particularly those needing more control than NSPersistentCloudKitContainer provides.
Developers choose CloudCore over Apple's native solution for its field-level synchronization, explicit CloudKit metadata, maskable attributes for local-only data, cacheable assets for large files, and fine-grained control over synchronization behavior while maintaining Core Data relationship integrity.
Robust CoreData-CloudKit synchronization: offline editing, relationships, private, shared and public databases, field-level deltas, encrypted values, cacheable assets, and more.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Only changed attributes are uploaded and downloaded, minimizing data transfer, as emphasized in the differential sync feature for performance optimization.
Leverages NSPersistentHistory to queue changes when offline and push them when online, ensuring no data loss during connectivity issues, as described in the offline synchronization mechanism.
Maskable attributes allow ignoring specific attributes during upload or download, providing flexibility for local-only data or manual remote management, as detailed in the UserInfo configuration.
Cacheable assets support uploading and downloading large files like photos and videos via long-lived operations separate from sync, addressing performance and storage concerns for media-rich apps.
Requires adding four specific attributes to each synced entity and extensive UserInfo mapping in the Core Data model, which can be error-prone and time-consuming, as outlined in the quick start guide.
Only tested on iOS and iPadOS, with no mention of watchOS or tvOS compatibility, restricting its use in full Apple ecosystem projects, as noted in the platform availability section.
The roadmap admits missing features like methods to clear local cache and remote database, and error resolving for limitExceeded, indicating potential gaps in production readiness.