Display information about users’ contacts in a graphical interface. Control which contact properties are displayed in your app.


The Contacts UI framework provides controllers that facilitate displaying, editing, selecting, and creating contacts in your app.




The CNContactPicker object displays the popover-based system interface for selecting a contact. The methods and properties of this class help you choose a contact or a contact's value, such as a phone number or email address, of a contact.


The CNContactPickerViewController class creates a controller object that manages the contacts picker view. This class allows the user to select one or more contacts (or their properties) from the list of contacts displayed in the contact view controller (CNContactViewController). The picker supports both single selection and multiselection of the contacts. The app using contact picker view does not need access to the user’s contacts and the user will not be prompted for “grant permission” access. The app has access only to the user’s final selection.


The CNContactViewController class implements the view to display a contact. CNContactViewController can display a new contact, unknown contact, or existing contact. You must use one of the designated initializers from init(forNewContact:), init(forUnknownContact:), or init(for:) respectively.



The CNContactPickerDelegate protocol describes the interface that CNContactPickerViewController delegates must adopt to respond to contact-picker user events.


The CNContactViewControllerDelegate protocol declares the interface that CNContactViewController delegates must implement.

Extended Types


An application shortcut, or quick action, icon is an image you can optionally associate with a Home screen quick action to improve its appearance and usability.