0

私はすべての人の名前と電子メールを取得しており、これら 2 つの変数に基づいてその人の携帯電話番号を取得したいと考えています。すべての人の携帯電話番号 (名前と電子メールと共に) を取得したくありません。ユーザーがタップするものだけ。どうすればそれを達成できますか?

4

1 に答える 1

1

このコードを使用して、名前と電子メール ID に基づいて特定の連絡先の携帯電話番号を取得します....

NSMutableString *contactNumber = [[NSMutableString alloc] init];

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef people = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
for(int i=0; i<nPeople; i++)
{
    ABRecordRef person=CFArrayGetValueAtIndex(people, i);

    NSMutableString *contacName = [[NSMutableString alloc] init];
    [contacName stringByAppendingString:@""];
    [contacName appendFormat:@"%@", (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty)];
    ABMultiValueRef emailInfo = ABRecordCopyValue(person, kABPersonEmailProperty);
    CFIndex emailCount = ABMultiValueGetCount(emailInfo);
    NSString *emailId;
    if(emailCount > 0)
    {
        emailId = (NSString *)ABMultiValueCopyValueAtIndex(emailInfo, 0);
    }

    if(([contacName isEqualToString:@"<<contatct name>>"]) && ([emailId isEqualToString:@"<<email id>>"]))
    {
        [contactNumber appendFormat:@"%@", (NSString *)ABRecordCopyValue(person, kABPersonPhoneMobileLabel)];
        break;
    }
}
CFRelease(people);
CFRelease(addressBook);


NSLog("contact Mobile number %@", contactNumber);
于 2013-06-13T06:33:54.170 に答える