11.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:
kABAuthorizationStatusNotDetermined
The user has not yet decided whether she would like to grant access to your application.
kABAuthorizationStatusDenied
The user has explicitly denied your application from having access to the address book.
kABAuthorizationStatusAuthorized
The user has authorized your application to have access to the address book on her device.
kABAuthorizationStatusRestricted
Parental 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 ...
Get iOS 6 Programming Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.