ABPersonViewController не показывает кнопку FaceTime?

Я получаю контакты, используя ABPeoplePickerNavigationController, и когда я выбираю любой из этих контактов, я получаю информацию об этом человеке, используя ABPersonViewController. Из документов Apple мы получим кнопку Face Time на ABPersonViewController, используя метод allowsActions:. Но я не получил лицом времени. Я использовал следующий код..

- (BOOL)peoplePickerNavigationController: 
(ABPeoplePickerNavigationController *)peoplePicker 
shouldContinueAfterSelectingPerson:(ABRecordRef)person { 
// NSLog(@"shouldContinueAfterSelectingPerson"); 
ABPersonViewController *picker = [[ABPersonViewController alloc] init] ; 
picker.personViewDelegate = self; 
picker.displayedPerson = person; 
picker.displayedProperties=@[@(kABPersonPhoneProperty),@(kABPersonEmailProperty),@(kABPersonBirthdayProperty),@(kABPersonOrganizationProperty),@(kABPersonJobTitleProperty),@(kABPersonDepartmentProperty),@(kABPersonNoteProperty),@(kABPersonCreationDateProperty)]; 
picker.allowsActions=YES; 
[self.navigationController pushViewController:picker animated:YES];}

person Prasad G    schedule 25.11.2013    source источник


Ответы (1)


Я получил ответ. Я использовал [self.navigationController pushViewController:picker animated:YES] вместо [peoplePicker pushViewController:picker animated:YES]. Вот почему я не получил то, что хотел. Причина в том, что когда я пишу [self.navigationController pushViewController:picker animated:YES], по умолчанию приходит ABPersonViewController. Таким образом, кнопки FaceTime, ShareContact и Добавить в избранное отсутствуют. Но когда я пишу [peoplePicker pushViewController:picker animated:YES], создается пользовательский ABPersonViewController, и все кнопки находятся там, используя метод allowActions:.

 - (BOOL)peoplePickerNavigationController:
    (ABPeoplePickerNavigationController *)peoplePicker
          shouldContinueAfterSelectingPerson:(ABRecordRef)person {

                ABPersonViewController *picker = [[ABPersonViewController alloc] init];
                picker.personViewDelegate = self;
                picker.displayedPerson = person;
                picker.displayedProperties = peoplePicker.displayedProperties;
                picker.allowsActions = YES;
               [peoplePicker pushViewController:picker animated:YES];
           return NO;
    }
person Prasad G    schedule 25.11.2013