Search code examples
iosuiimagepickercontrollercontacts

Contacts analogue to UIImagePickerController


In iOS 11+, UIImagePickerController can be used to access the user's photo library without asking permission because it runs as a separate process and does not pose the privacy risk of an app accessing all of the information in the user's photo library without their consent.

Does an analogue to this process exist for fetching a user's contacts?

Example scenario: app needs to know a specific contact's email address but it does not need to see the entire address book. Is there something like a UIContactsController which can allow the user to open contacts without a permission prompt, select an email address, which then is passed back read-only to the host app?


Solution

  • This exists with the CNContactPickerViewController framework. No permission is required as the app only receives the user's final contact selection.