我们可以从iPhone的联系人列表中访问电子邮件ID吗?
我们可以通过密码访问iPhone联系人列表中每个联系人的所有电子邮件ID吗 当然可以,使用ABAdressBook类: ABAddressBookRef addressBook=ABAddressBookCreate(); NSArray*allPeople=(NSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook)我们可以从iPhone的联系人列表中访问电子邮件ID吗?,iphone,ios,email,contacts,Iphone,Ios,Email,Contacts,我们可以通过密码访问iPhone联系人列表中每个联系人的所有电子邮件ID吗 当然可以,使用ABAdressBook类: ABAddressBookRef addressBook=ABAddressBookCreate(); NSArray*allPeople=(NSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook) 现在您在allPeople数组中拥有了所有联系人,然后只需按键获取电子邮件。您将通过给定的代码获取单个电子邮件ID A
现在您在allPeople数组中拥有了所有联系人,然后只需按键获取电子邮件。您将通过给定的代码获取单个电子邮件ID
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook);
NSString *contactName = lblTitle.text;
for(int i = 0;i<ABAddressBookGetPersonCount(addressBook);i++)
{
ABRecordRef person = CFArrayGetValueAtIndex(people, i);
NSString *strEmail = [arContactData valueForKey:@"Email"];
NSMutableArray *arEmailList = [[NSMutableArray alloc] init];
ABMultiValueRef emails = ABRecordCopyValue(person, kABPersonEmailProperty);
for(CFIndex idx = 0; idx < ABMultiValueGetCount(emails); idx++)
{
CFStringRef emailRef = ABMultiValueCopyValueAtIndex(emails, idx);
NSString *strLbl = (NSString*)ABAddressBookCopyLocalizedLabel (ABMultiValueCopyLabelAtIndex (emails, idx));
NSDictionary *dicTemp = [[NSDictionary alloc]initWithObjectsAndKeys:strEmail,@"value", strLbl,@"label", nil];
[arEmailList addObject:dicTemp];
}
}
ABAddressBookRef addressBook=ABAddressBookCreate();
CFArrayRef people=abAddressBookCopyArrayFallPeople(地址簿);
NSString*contactName=lblTitle.text;
对于(int i=0;i上面代码中的ArcContactData是什么?我在这一行中也得到了一个强制转换错误:NSString*strLbl=(NSString*)ABAddressBookCopyLocalizedLabel(abMultivalueCopyLabelateIndex(emails,idx));
ArcContactData是一个可变数组。我在我的末尾检查了它,没有发现任何强制转换错误。