książka adresowa iOS 6 pusta kABPersonPhoneProperty
W moim kodzie używam ABPeoplePickerNavigationController, aby wybrać osobę. Po wybraniu przez użytkownika osoby z listy kontaktów, sprawdzam, czy określony rekord osoby ma jakikolwiek numer telefonu:
- (BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
ABMutableMultiValueRef phones;
phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
if (phones == nil || ABMultiValueGetCount(phones) == 0)
{
return NO;
}
// other code....
}
Stworzyłem kontakt, dodałem do niego numer telefonu i przetestowałem mój kod. W iOS 5 ten kod działa dobrze.telefony zmienna zawiera jeden numer telefonu.
Ale w iOS 6, po połączeniu kontaktu z kontem na Facebooku,telefony zmienna nie zawiera żadnych wartości.
Po odłączeniu kontaktu z kontem na Facebooku wszystko działa dobrze.
Jak mogę odczytać osobiste numery telefonów tą metodą?
- (BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController*)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
UPD
Jeśli zwracam TAK w powyższej funkcji, to w funkcji
(BOOL) peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
Mogę czytać wszystkie numery telefonów osób w normalny sposób. Dlaczego więc nie mogę ich przeczytać w pierwszej funkcji?