Невозможно выбрать контакт на iOS 8
У меня есть подклассABPeoplePickerNavigationController
чтобы справиться с выбором контактного телефона в моем приложении. Все отлично работает на iOS 7 и ниже.
На iOS 8, однако, мойABPeoplePickerNavigationControllerDelegate
не попадает при выборе номера телефона. Вместо этого он просто звонит на этот номер телефона.
Я заметил, что метод, который я использовал для обработки выбора контактов в iOS 7 (peoplePickerNavigationController:shouldContinueAfterSelectingPerson:property:identifier:
) устарела в iOS 8. Этот метод был заменен наpeoplePickerNavigationController:didSelectPerson:property:identifier:
.
Я знаю, что мой делегат установлен, потому что я успешно получилpeoplePickerNavigationControllerDidCancel:
обратный вызов метода.
Кто-нибудь еще сталкивался с этой проблемой?
Вот фрагмент кода моегоABPeoplePickerNavigationController
подкласс:
- (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];
}