¿La libreta de direcciones de iOS 6 no funciona?

Parece que mi método de recuperación programática de direcciones de correo electrónico de la Libreta de direcciones ya no funciona en dispositivos con iOS 6. Funcionó en iOS 5 y, curiosamente, aún funciona en el simulador de iOS 6. ¿Hay una nueva forma de recuperar contactos de la Libreta de direcciones de los usuarios mediante programación?

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);

self.contacts = [[NSMutableArray alloc] init];

int contactIndex = 0;
for (int i = 0; i < nPeople; i++) {
    // Get the next address book record.
    ABRecordRef record = CFArrayGetValueAtIndex(allPeople, i);        

    // Get array of email addresses from address book record.
    ABMultiValueRef emailMultiValue = ABRecordCopyValue(record, kABPersonEmailProperty);
    NSArray *emailArray = (__bridge_transfer NSArray *)ABMultiValueCopyArrayOfAllValues(emailMultiValue);

    [self.contacts addObject:emailArray];
}

Para aclarar, lo anterior no falla, simplemente no devuelve ningún resultado. ABAddressBookCopyArrayOfAllPeople está vacío. ¡Gracias!

Respuestas a la pregunta(4)

Su respuesta a la pregunta