Ich habe eine Unterklasse von ABPeoplePickerNavigationController
, um die Auswahl einer Kontakttelefonnummer in meiner App zu übernehmen. Unter iOS 7 und höher funktioniert alles super.Ich kann keinen Kontakt unter iOS 8 auswählen
Auf iOS 8 wird jedoch meine ABPeoplePickerNavigationControllerDelegate
nicht getroffen, wenn Sie eine Telefonnummer auswählen. Stattdessen ruft es nur diese Telefonnummer an.
Ich bemerkte, dass die Methode, die ich verwendete, um die Kontaktauswahl in iOS 7 (peoplePickerNavigationController:shouldContinueAfterSelectingPerson:property:identifier:
) zu behandeln, in iOS 8 veraltet war. Diese Methode wurde durch peoplePickerNavigationController:didSelectPerson:property:identifier:
ersetzt.
Ich weiß, dass mein Delegat festgelegt ist, da ich den Methodenrückruf peoplePickerNavigationControllerDidCancel:
erfolgreich erhalte.
Hat noch jemand dieses Problem erlebt?
Hier ist ein Code-Snippet meiner ABPeoplePickerNavigationController
Unterklasse:
- (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];
}
Was haben Sie angegeben 'predicateForSelectionOfProperty'? – Rob
Bauen Sie mit Xcode 6 und hat Ihr Projekt ein Base SDK von iOS 8? – rmaddy
@Rob Nichts. Es hat immer funktioniert, ohne das einzustellen. – Alexander