From what they discussed at WWDC, you will do this using the fetchUserRecordIDWithCompletionHandler: method on CKContainer . This returns a CKRecordID that matches the current user. This identifier will be stable on all devices, but differently for each application. Therefore, if the same user uses your application on multiple devices, your application will get the same result everywhere, but other applications will get different results from yours.
Once you have CKRecordID , you can find limited other user data (their name and email address, I think) using fetchRecordWithID:completionHandler: This request will trigger a warning to the user, so you will only receive it if he allows it.
This does not require you to use anything else in CloudKit. This requires the user to actually have an iCloud account configured on the device.
source share