Можем ли мы получить доступ к электронным письмам из списка контактов с iPhone? - PullRequest
1 голос
/ 03 августа 2011

Можем ли мы получить доступ ко всем идентификаторам электронной почты для каждого контакта из списка контактов iPhone через код?

Ответы [ 2 ]

2 голосов
/ 04 августа 2011

Вы получите индивидуальные адреса электронной почты по указанному коду ...

    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];        
        }
    }
0 голосов
/ 04 августа 2011

Конечно, используйте класс ABAdressBook:

ABAddressBookRef addressBook = ABAddressBookCreate ();NSArray * allPeople = (NSArray *) ABAddressBookCopyArrayOfAllPeople (addressBook);

Теперь у вас есть все контакты в массиве allPeople, затем просто получите письмо по ключу.

...