Como dizer ao ABPeoplePickerNavigationController para listar apenas os contatos que possuem um endereço de e-mail?

Quero que meus usuários preencham um campo de e-mail selecionando o e-mail de um contato em seus catálogos de endereços. Não quero que eles percorram todos os contatos cujos e-mails não estão definidos, portanto, quero filtrar os que têm endereços de e-mail.

Este é o código que eu escrevi até agora. Eu posso descobrir quem tem um endereço de e-mail e quem não tem, mas eu não poderia dizer aoABPeoplePickerNavigationController para listar apenas os contatos certos. É impossível conseguir isso, quer dizer, eu tenho que implementar minha própria classe de selecionador de contato usando uma exibição de tabela ou há algo errado com este pedaço de código?

ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *peopleList = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
NSLog(@"%ld people exist in the addressBook", ABAddressBookGetPersonCount(addressBook));
for (id peopleRecord in peopleList) {
    ABMultiValueRef mv = ABRecordCopyValue((ABRecordRef)peopleRecord, kABPersonEmailProperty);
    CFIndex numberOfAddresses = ABMultiValueGetCount(mv);
    if(numberOfAddresses == 0) {
        CFErrorRef err;
        ABAddressBookRemoveRecord( addressBook, (ABRecordRef)peopleRecord, &err);
    }
}
[peopleList release];

NSLog(@"%ld people have an email", ABAddressBookGetPersonCount(addressBook));

ABPeoplePickerNavigationController *peoplePicker = [[ABPeoplePickerNavigationController alloc] init];
NSNumber* emailProp = [NSNumber numberWithInt:kABPersonEmailProperty];
[peoplePicker setAddressBook:addressBook];
peoplePicker.displayedProperties = [NSArray arrayWithObject:emailProp];
[peoplePicker setPeoplePickerDelegate:self];
[self presentModalViewController:peoplePicker animated:YES];

questionAnswers(2)

yourAnswerToTheQuestion