Chapter 31. Address Book
The user’s address book, which the user sees through the Contacts app, is effectively a database that can be accessed directly through a C API provided by the Address Book framework. You’ll link to AddressBook.framework and import <AddressBook/AddressBook.h>
.
A user interface for interacting with the address book is also provided, through Objective-C classes, by the Address Book UI framework. You’ll link to AddressBookUI.framework and import <AddressBookUI/AddressBookUI.h>
.
Address Book Database
The address book is an ABAddressBookRef obtained by calling ABAddressBookCreate
. This method’s name contains “Create,” so you must CFRelease
the ABAddressBookRef when you’re finished with it. The address book’s data starts out exactly the same as the user’s Contacts data. If you make any changes to the data, they are not written through to the user’s real address book until you call ABAddressBookSave
.
The primary constituent record of the address book database is the ABPerson. You’ll typically extract persons from the address book by using these functions:
-
ABAddressBookGetPersonCount
-
ABAddressBookGetPersonWithRecordID
-
ABAddressBookCopyPeopleWithName
-
ABAddressBookCopyArrayOfAllPeople
The result of the latter two is a CFArrayRef. Their names contain “Copy,” so you must CFRelease
the array when you’re finished with it. (I’m going to stop reminding you about memory management from here on.)
An ABPerson doesn’t formally exist as a type; it is actually an ABRecord (ABRecordRef), ...
Get Programming iOS 4 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.