这是我尝试过的:
-(void) vDisplayPerson:(ABRecordRef)person
{
ABPersonViewController *picker = [[ABPersonViewController alloc] init] ;
picker.personViewDelegate = self;
picker.displayedPerson = person;
picker.displayedProperties=@[@(kABPersonPhoneProperty),@(kABPersonEmailProperty),@(kABPersonBirthdayProperty),@(kABPersonOrganizationProperty),@(kABPersonJobTitleProperty),@(kABPersonDepartmentProperty),@(kABPersonNoteProperty),@(kABPersonCreationDateProperty)];
// Allow users to edit the person’s information
picker.allowsEditing = YES;
[self.navigationController pushViewController:picker animated:YES];
}
请注意,我已设置显示属性以包含许多内容。电话。人。生日。然而,只显示姓名和职位。
我想显示人们在联系时使用的相同类型的信息。在 iOs6 中不再可能了吗?
更新:我强烈怀疑问题不在显示中,而是由于某种原因整个人记录根本不包含电话号码。那是因为我可以编辑联系人,添加电话号码和电话号码将被看到。但是,更新不会传播到“真实”联系人。在我的程序上进行的更新不会传播到真正的联系人。真实联系人上的更新不会显示在我的程序中。
我正在使用 CFArrayRef refAllPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
顺便说一下,这是在 iPhone 5.1 模拟器中。