13.1. Requesting Access to the Address Book
Problem
You want to start accessing the user’s address book, which requires the user to have granted your app access to the user’s address book database. You want to check whether you have access so that you don’t receive a runtime error when you attempt access.
Solution
In order to find the current authorization state of your app, call
the function ABAddressBookGetAuthorizationStatus in the
Address Book framework. This function can return any of the following
values:
kABAuthorizationStatusNotDeterminedThe user has not yet decided whether she would like to grant access to your application.
kABAuthorizationStatusDeniedThe user has explicitly denied your application from having access to the address book.
kABAuthorizationStatusAuthorizedThe user has authorized your application to have access to the address book on her device.
kABAuthorizationStatusRestrictedParental controls or other permissions configured on the iOS device prevent your app from accessing and interacting with the address book database on the device.
If you find out that the status that you received from the
ABAddressBookGetAuthorizationStatus
function is kABAuthorizationStatusNotDetermined, you can
use the ABAddressBookRequestAccessWithCompletion
function to ask for permission to access the user’s address book
database. You have to pass two parameters to this function:
- An address book reference of type
ABAddressBookRef The instance of the address book that you want to access.
- A completion ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access