Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CloudKit and Core sync data between devices

I created a simple Notes app based on Core data. Now i want add sync between user devices.

And all articles that i read (this, this) said that i should fully get rid of my core data database, and all my code will lost and rework all with ICloud kit?

The is no way to sync data from Core Data to ICloud ? And if i get rid of core data, how my app will work offline ?

And please suggest good simple projects with ICloud sync

P.S. I googled about an hour. Icloud is deprecated so do sync with it is not recommended. I confused. How now i can sync data between devices??

like image 855
Arti Avatar asked Nov 29 '16 12:11

Arti


People also ask

What is CloudKit Core Data?

Core Data owns the record ID for all of the objects that it creates in CloudKit. And, for each one, we will generate a simple UUID to use as its record name. When the Record Name is combined with a zone identifier you get a CKRecord ID. At the bottom, you'll see how Core Data manages type information.

Do CloudKit apps sync with iCloud users?

Sync user data between multiple apps from the same developer If you have a suite of apps, they can all share the same CloudKit container so users can have access to their data for all of your apps on every device they have associated with their iCloud account.

What is Apple CloudKit used for?

CloudKit is a framework that lets app developers store key-value data, structured data, and assets in iCloud. Access to CloudKit is controlled using app entitlements. CloudKit supports both public and private databases.

What is CloudKit mirroring?

Configuring CloudKit MirroringSynchronize objects between devices, and handle store changes in the user interface. Reading CloudKit Records for Core Data. Access CloudKit records created from Core Data managed objects.


1 Answers

Core Data used to have iCloud syncing, but it has been deprecated as of iOS 10. It had several problems, sometimes major.

Apple now has something called CloudKit, which is not the same thing. You can use CloudKit to sync data between devices. But this does not mean that you should drop Core Data. CloudKit only syncs; it is not a replacement for having your app save data on the device, it's only a way to send data to other devices. If you're using CloudKit, you also need to use some other way to store data on the local device.

Also, it's "CloudKit". Not "ICloud Kit". I don't know why, but it's important to get the names right.

like image 170
Tom Harrington Avatar answered Oct 02 '22 16:10

Tom Harrington