Skip to content

cgossain/MFTCloudKitSyncManager

Repository files navigation

MFTCloudKitSyncManager

[![CI Status](http://img.shields.io/travis/Christian Gossain/MFTCloudKitSyncManager.svg?style=flat)](https://travis-ci.org/Christian Gossain/MFTCloudKitSyncManager) Version License Platform

Introduction

This projects was partially inspired by the WWDC 2015 sessions around working with CloudKit where, among other things, there was a discussion about implementing sync via CloudKit to a local store. This project also came out of a need for a project I was working on, however before the project was completed we decided to go with another cloud solution.

This library syncs a private CloudKit database zone with a local CoreData store. One-to-One and One-to-Many relationships have been implemented and tested and work great. One-to-Many have not been tested. This library also offers a deduplication manager that deduplicates your local store according to rules that you specify via the MFTContextDeduplicating protocol.

Since we ended up not using this library, there are probably kinks that need to be ironed out, however the core functionaly works great.

I decided to Open-Source this project since I believe it offers a well implemented sync mechanism between CloudKit and CoreData, and hope that someone else will find it usefull is some way.

Features

Available

  • Quick and easy Core Data stack creation.
  • Option to sync to iCloud via CloudKit APIs.
  • Sync conflic handling using predefined policies or by providing a custom conflic handler.
  • Ability to define rules to deduplicate the local store (see MFTContextDeduplicating protocol) after each sync completes.

Missing

  • Syncing Many-to-Many relationship have not been tested.

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

Installation

MFTCloudKitSyncManager is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "MFTCloudKitSyncManager"

Author

Christian Gossain, Christian Gossain

License

MFTCloudKitSyncManager is available under the MIT license. See the LICENSE file for more info.

About

Proper CloudKit and Core Data syncing as laid out at WWDC 2015.

Resources

License

Stars

Watchers

Forks

Packages

No packages published