Ios 如何获取与某个电话号码相关的联系人姓名?

Ios 如何获取与某个电话号码相关的联系人姓名?,ios,iphone,addressbook,phone-number,Ios,Iphone,Addressbook,Phone Number,在我的应用程序中,我收到来自服务器的json响应,其中包含电话号码。如果电话号码存储在通讯录中,我不想显示联系人的全名。与手机应用程序类似,当您手动输入号码时,如果号码存储在通讯录中,iPhone会显示姓名 我在网上找不到任何教程。可能是因为搜索字符串总是包含iphone、号码和联系人,我得到了很多结果,但没有任何帮助 有谁能给我一个提示去哪里看或者怎么做吗?这里有解决方案表 -(无效)scanAddressBookSample { NSUI; nsuk整数; ABAddressBookRef

在我的应用程序中,我收到来自服务器的json响应,其中包含电话号码。如果电话号码存储在通讯录中,我不想显示联系人的全名。与手机应用程序类似,当您手动输入号码时,如果号码存储在通讯录中,iPhone会显示姓名

我在网上找不到任何教程。可能是因为搜索字符串总是包含iphone、号码和联系人,我得到了很多结果,但没有任何帮助


有谁能给我一个提示去哪里看或者怎么做吗?

这里有解决方案表

-(无效)scanAddressBookSample
{
NSUI;
nsuk整数;
ABAddressBookRef addressBook=ABAddressBookCreate();
NSArray*人=(NSArray*)abAddressBookCopyArrayFallPeople(addressBook);
如果(人==零)
{
NSLog(@“无需扫描的通讯簿条目”);
CFRelease(通讯录);
返回;
}
对于(i=0;i
- (void) scanAddressBookSample
{
NSUInteger i;
NSUInteger k;

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

if ( people==nil )
    {
    NSLog(@"NO ADDRESS BOOK ENTRIES TO SCAN");
    CFRelease(addressBook);
    return;
    }

for ( i=0; i<[people count]; i++ )
    {
    ABRecordRef person = (ABRecordRef)[people objectAtIndex:i];

    //
    // Phone Numbers
    //
    ABMutableMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);
    CFIndex phoneNumberCount = ABMultiValueGetCount( phoneNumbers );

    for ( k=0; k<phoneNumberCount; k++ )
        {
        CFStringRef phoneNumberLabel = ABMultiValueCopyLabelAtIndex( phoneNumbers, k );
        CFStringRef phoneNumberValue = ABMultiValueCopyValueAtIndex( phoneNumbers, k );
        CFStringRef phoneNumberLocalizedLabel = ABAddressBookCopyLocalizedLabel( phoneNumberLabel );    // converts "_$!<Work>!$_" to "work" and "_$!<Mobile>!$_" to "mobile"

        // Find the ones you want here
        //
        NSLog(@"-----PHONE ENTRY -> %@ : %@", phoneNumberLocalizedLabel, phoneNumberValue );

        CFRelease(phoneNumberLocalizedLabel);
        CFRelease(phoneNumberLabel);
        CFRelease(phoneNumberValue);
        }
    }

[people release];
CFRelease(addressBook);
}