Ios 如何在ABAddressBook中获取电子邮件的自定义标签和值
在iPad的通讯录中,当我尝试添加电子邮件时,我可以选择设置自己的自定义标签并发送电子邮件 问题: 我无法获取特定的标签及其价值,我可以从Addressbook获取其他iCloud、home和work电子邮件ID 这是与我所做工作相关的代码:Ios 如何在ABAddressBook中获取电子邮件的自定义标签和值,ios,contacts,addressbook,abaddressbook,Ios,Contacts,Addressbook,Abaddressbook,在iPad的通讯录中,当我尝试添加电子邮件时,我可以选择设置自己的自定义标签并发送电子邮件 问题: 我无法获取特定的标签及其价值,我可以从Addressbook获取其他iCloud、home和work电子邮件ID 这是与我所做工作相关的代码: //Email ABMultiValueRef emailID = ABRecordCopyValue(recordRef, kABPersonEmailProperty); CFIndex emai
//Email
ABMultiValueRef emailID = ABRecordCopyValue(recordRef, kABPersonEmailProperty);
CFIndex emailCount = ABMultiValueGetCount(emailID);
// PSLog(@"counter %ld",emailCount);
NSString *emailLabel;
NSMutableArray *emailLabelsMutArr = [NSMutableArray new];
if (emailCount == 0) {
[nameEmailMutDict setValue:@"No Mail ID" forKey:kEmailKey];
}
else
{
for(CFIndex emailCounter = 0; emailCounter < emailCount; emailCounter++)
{
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setValue:contactFirstName forKey:kEmailFirstNameKey];
[dict setValue:contactLastName forKey:kEmailLastNameKey];
emailLabel = (__bridge NSString*)ABMultiValueCopyLabelAtIndex(emailID, emailCounter);
[emailLabelsMutArr addObject:emailLabel];
NSString *strEmail = (__bridge NSString *)(ABMultiValueCopyLabelAtIndex(emailID, emailCounter));
if ([emailLabel isEqualToString:@"_$!<Home>!$_"]) {
strEmail = (__bridge NSString*)ABMultiValueCopyValueAtIndex(emailID, emailCounter);
[dict setValue:strEmail forKey:kEmailKey];
contactsObject.contactEmailModal = strEmail;
[self.recordsMutableArray addObject:dict];
continue;
}
}
}
//电子邮件
ABMultiValueRef emailID=ABRecordCopyValue(recordRef,kABPersonEmailProperty);
CFIndex emailCount=ab多值getcount(emailID);
//PSLog(@“计数器%ld”,电子邮件计数);
NSString*电子邮件标签;
NSMutableArray*emailLabelsMutArr=[NSMutableArray新建];
如果(emailCount==0){
[nameEmailMutDict setValue:@“无邮件ID”forKey:kEmailKey];
}
其他的
{
对于(CFIndex-emailCounter=0;emailCounter
按照这个答案,我终于明白了
并使用以下代码获取我的输出:
ABMultiValueRef emails=ABRecordCopyValue(recordRef,kABPersonEmailProperty)
for(CFIndex j=0;j
如果答案正确,您可以接受自己的答案。在前21小时内,我们需要接受该答案,时间已过
for(CFIndex j = 0; j < ABMultiValueGetCount(emails); j++)
{
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setValue:contactFirstName forKey:kEmailFirstNameKey];
[dict setValue:contactLastName forKey:kEmailLastNameKey];
CFStringRef emailIDRef = ABMultiValueCopyValueAtIndex(emails, j);
CFStringRef locLabel = ABMultiValueCopyLabelAtIndex(emails, j);
NSString *emailLabel =(NSString*) ABAddressBookCopyLocalizedLabel(locLabel);
//CFRelease(phones);
NSString *emailID = (NSString *)emailIDRef;
[dict setValue:emailID forKey:kEmailKey];
contactsObject.contactEmailModal = emailID;
[self.recordsMutableArray addObject:dict];
NSLog(@"emailID - %@ emailLabel %@", emailID, emailLabel);
}