CloudKit is designed to synchronize real data records, as well as assets (files).
The iCloud key value NSUserDefaults essentially NSUserDefaults , but synchronized between devices.
So think of it like that. If this is a simple value that you can store in NSUserDefaults , use a keystore. If this is actual data that you can save to plist, database, file or core-data, use CloudKit.
source share