Ho una sottoclasse di ABPeoplePickerNavigationController
per gestire la selezione di un numero di telefono di contatto nella mia app. Tutto funziona alla grande su iOS 7 e versioni successive.Impossibile selezionare il contatto su iOS 8
Su iOS 8, tuttavia, il mio ABPeoplePickerNavigationControllerDelegate
non viene colpito quando si seleziona un numero di telefono. Invece, chiama solo quel numero di telefono.
Ho notato che il metodo che stavo usando per gestire la selezione dei contatti in iOS 7 (peoplePickerNavigationController:shouldContinueAfterSelectingPerson:property:identifier:
) era obsoleto in iOS 8. Questo metodo è stato sostituito da peoplePickerNavigationController:didSelectPerson:property:identifier:
.
So che il mio delegato è impostato perché ricevo il callback del metodo peoplePickerNavigationControllerDidCancel:
.
Qualcun altro ha riscontrato questo problema?
Ecco un frammento di codice del mio ABPeoplePickerNavigationController
sottoclasse:
- (void)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker didSelectPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
[self peoplePickerNavigationController:peoplePicker shouldContinueAfterSelectingPerson:person property:property identifier:identifier];
}
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier {
...do stuff...
return NO;
}
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
return YES;
}
- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker {
[self dismissViewControllerAnimated:self.shouldAnimateDismiss completion:NULL];
}
Cosa hai specificato 'predicateForSelectionOfProperty'? – Rob
Stai creando Xcode 6 e il tuo progetto ha un SDK di base di iOS 8? – rmaddy
@Rob Nothing. Ha sempre funzionato senza impostarlo. – Alexander