Since updating to iOS 6 I’ve noticed that my code to add a contact to iPhone’s address book no longer works. I believe this is a permission related problem, since Apple now requires user permission before accessing contacts (fixing this issue).
I expected the app to automatically ask permission to access contacts, like in the screenshot below, but it doesn’t. Trying to add the contact just fails with ABAddressBookErrorDomain error 1.
Do I need to programmatically launch the access to contacts request dialog? How is that done?

As per this documentation on apple’s site (scroll down to Privacy in the middle of the page), access to the address book must be granted before it can be access programmatically. Here is what I ended up doing.
Update For iOS 9 and later:
From Apple website :