Libreta de direcciones de iOS 6 vacía kABPersonPhoneProperty
En mi código, uso ABPeoplePickerNavigationController para seleccionar persona. Después de que el usuario seleccione a la persona de la lista de contactos, veo si el registro de persona especificada tiene algún número de teléfono:
- (BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
ABMutableMultiValueRef phones;
phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
if (phones == nil || ABMultiValueGetCount(phones) == 0)
{
return NO;
}
// other code....
}
Creé contacto, le agregué un número de teléfono y probé mi código. En iOS 5 este código funciona bien.teléfonos móviles variable contiene un número de teléfono.
Pero en iOS 6, después de vincular el contacto a la cuenta de Facebook,teléfonos móviles La variable no contiene ningún valor.
Después de desvincular el contacto con la cuenta de Facebook todo vuelve a funcionar bien.
¿Cómo puedo leer los números de teléfono de esta persona?
- (BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
UPD
Si vuelvo SÍ en la función anterior, entonces en la función
(BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
Puedo leer todos los números de teléfono de la persona de manera normal. Entonces, ¿por qué no puedo leerlos en la primera función?