Skip to Content
Programming iOS 5, 2nd Edition
book

Programming iOS 5, 2nd Edition

by Matt Neuburg
March 2012
Intermediate to advanced
1011 pages
31h 11m
English
O'Reilly Media, Inc.
Content preview from Programming iOS 5, 2nd Edition

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, as discussed in Chapter 12. (But don’t release it until you are 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 ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Programming iOS 4

Programming iOS 4

Matt Neuburg
Programming iOS 8

Programming iOS 8

Matt Neuburg
Programming iOS 10

Programming iOS 10

Matt Neuburg

Publisher Resources

ISBN: 9781449327088Errata Page