ios 通讯录 通过电话号码 查询姓名

来源:互联网 发布:linux怎样关闭防火墙 编辑:程序博客网 时间:2024/04/29 06:41

#pragma mark - 检索是否通讯录里有此号码


-(NSString *)getNameBytel:(NSString *)telstr

{

NSMutableArray* personArray = [[[NSMutableArrayalloc]init] autorelease]; 

//打开电话本数据库

    ABAddressBookRef addressRef=ABAddressBookCreate();

      NSString *firstName, *lastName, *fullName; 

    //返回所有联系人到一个数组中

    personArray = (NSMutableArray *)ABAddressBookCopyArrayOfAllPeople(addressRef); 

    

    //返回联系人数量

//    CFIndex personCount = ABAddressBookGetPersonCount(addressRef);

    

for (id personin personArray) 

firstName = (NSString *)ABRecordCopyValue(person,kABPersonFirstNameProperty); 

firstName = [firstName stringByAppendingFormat:@" "]; 

lastName = (NSString *)ABRecordCopyValue(person,kABPersonLastNameProperty); 

if (lastName !=nil)

{

fullName = [firstName stringByAppendingFormat:@"%@",lastName]; 


}

else

{

fullName = firstName;

}

NSLog(@"===%@",fullName); 

ABMultiValueRef phones = (ABMultiValueRef)ABRecordCopyValue(person,kABPersonPhoneProperty); 

for(int i =0 ;i <ABMultiValueGetCount(phones); i++) 

{  

NSString *phone = (NSString *)ABMultiValueCopyValueAtIndex(phones, i);

phone = [phonestringByReplacingOccurrencesOfString:@"("withString:@""];

phone = [phonestringByReplacingOccurrencesOfString:@")"withString:@""];

phone = [phonestringByReplacingOccurrencesOfString:@"-"withString:@""];

phone = [phonestringByReplacingOccurrencesOfString:@" "withString:@""];

NSLog(@"===%@",phone); 

if ([phoneisEqualToString:telstr]) 

{

return fullName;

}

}

return nil;

}