iOS 6 Address Book não está funcionando?
Meu método de recuperar programaticamente endereços de e-mail do Catálogo de endereços não parece mais funcionar em dispositivos iOS 6. Funcionou no iOS 5 e, estranhamente, ainda funciona no iOS 6 Simulator. Existe uma nova maneira de recuperar programaticamente contatos do catálogo de endereços de um usuário?
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 esclarecer, o acima não falha, simplesmente não retorna nenhum resultado. ABAddressBookCopyArrayOfAllPeople está vazio. Obrigado!