I know that there can be multiple values for an email, but I'm not sure how to browse through them.
I can get a person correctly.
ABRecordRef person = // getting a person;
NSString* emails = (NSString *)ABRecordCopyValue(person, kABPersonEmailProperty);
... what's next? If I try to print the emails
variable I get:
Emails: <NSCFType: 0x4018d40>
It is because emails should not be a string, but an array. People can have many emails!
Here are some docs on things you can do with MultiValueLists
In iOS 9 the ABFramework has been deprecated for the new Contacts Framework:
I show you an example to log every email address of a CNContact:
The type of this entry is an
ABMultiValue
(specifically, the type of this field is akABMultiStringProperty
). See "Using Multivalue Lists" for how to read these. See the Address Book Objective-C Constants Reference for what each property returns.Also, remember that AB functions are subject to the Create Rule. You are responsible for releasing objects you get from a function with the word "Copy" in it.