An operation that retrieves the IDs of all discoverable users that are also in the user’s address book.


class CKDiscoverAllContactsOperation : CKOperation


The search of the user’s address book does not return any personal data about the user’s contacts. The search returns only the IDs of the corresponding user records, which contain only data that your app puts there. CloudKit uses the address book information to identify users of the app that the current user knows. Because the system accesses the address book instead of your app, the system does not display a prompt to the user when that access occurs.

Users of an app must opt in to discoverability before their user records can be accessed. To opt in for a user, your app must call the requestApplicationPermission(_:completionHandler:) method of your container object and request the userDiscoverability permission. Calling that method prompts the user to grant or deny the permission.

If you assign a completion block to the completionBlock property of the operation object, the completion block is called after the operation executes and returns its results to you. You can use a completion block to perform housekeeping chores related to the operation, but do not use it to process the results of the operation itself. Any completion block you specify should be prepared to handle the failure of the operation to complete its task, whether due to an error or an explicit cancellation.



Processing the Operation Results


Inherits From

Conforms To

See Also


class CKDiscoveredUserInfo

An object that contains information about a discoverable user in a database.

class CKDiscoverUserInfosOperation

An object that retrieves the IDs for discoverable users whose email addresses or user record IDs you already know.