Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从通讯簿iOS中检索手机号码_Ios_Search_Addressbook - Fatal编程技术网

如何从通讯簿iOS中检索手机号码

如何从通讯簿iOS中检索手机号码,ios,search,addressbook,Ios,Search,Addressbook,我已经得到了每个人的姓名和电子邮件,我想根据这两个变量检索每个人的手机号码。我不想检索每个人的手机号码(连同姓名和电子邮件)。仅适用于用户点击的一个。如何实现这一点?使用此代码根据姓名和电子邮件id获取特定的联系人手机号码 NSMutableString *contactNumber = [[NSMutableString alloc] init]; ABAddressBookRef addressBook = ABAddressBookCreate(); CFArrayRef people

我已经得到了每个人的姓名和电子邮件,我想根据这两个变量检索每个人的手机号码。我不想检索每个人的手机号码(连同姓名和电子邮件)。仅适用于用户点击的一个。如何实现这一点?

使用此代码根据姓名和电子邮件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);
NSMutableString*contactNumber=[[NSMutableString alloc]init];
ABAddressBookRef addressBook=ABAddressBookCreate();
CFArrayRef people=abAddressBookCopyArrayFallPeople(地址簿);
CFIndex nppeople=ABAddressBookGetPersonCount(地址簿);
对于(int i=0;i 0)
{
emailId=(NSString*)ab多值CopyValueAtIndex(emailInfo,0);
}
如果([contacName IsequalString:@”“])&([emailId IsequalString:@”“]))
{
[contactNumber appendFormat:@“%@”(NSString*)ABRecordCopyValue(person,KabbersonPhoneMobileLabel)];
打破
}
}
释放(人);
CFRelease(通讯录);
NSLog(“联系手机号码%@”,联系号码);

&我已经完成了所有这些。现在我有了每个人的姓名和电子邮件,我应该能够检索特定人的手机号码(用户点击的号码)。您可以。那你还在等什么呢?基本上我想用姓名和电子邮件搜索地址簿,并检索匹配的特定人的手机号码。