Livro de endereços do iOS 6 vazio kABPersonPhoneProperty
No meu código eu uso ABPeoplePickerNavigationController para selecionar pessoa. Depois que o usuário selecionar a pessoa da lista de contatos, procure se o registro de pessoa especificado tiver qualquer número de telefone:
- (BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
ABMutableMultiValueRef phones;
phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
if (phones == nil || ABMultiValueGetCount(phones) == 0)
{
return NO;
}
// other code....
}
Eu criei contato, adicionei número de telefone a ele e testei meu código. No iOS 5 este código funciona bem.telefones variável contém um número de telefone.
Mas no iOS 6, depois de vincular o contato à conta do facebook,telefones variável não contém nenhum valor.
Depois de desligar o contato com a conta do facebook, tudo funciona bem novamente.
Como posso ler os números de telefone da pessoa deste método?
- (BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
UPD
Se eu retornar SIM na função acima, então na função
(BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
Eu posso ler todos os números de telefone da pessoa no modo normal. Então, por que não posso lê-los na primeira função?