#pragma mark - 检索是否通讯录里有此号码
-(NSString *)getNameBytel:(NSString *)telstr
{
NSMutableArray* personArray = [[[NSMutableArray alloc] init] autorelease];
//打开电话本数据库
ABAddressBookRef addressRef=ABAddressBookCreate();
NSString *firstName, *lastName, *fullName;
//返回所有联系人到一个数组中
personArray = (NSMutableArray *)ABAddressBookCopyArrayOfAllPeople(addressRef);
//返回联系人数量
// CFIndex personCount = ABAddressBookGetPersonCount(addressRef);
for (id person in 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 = [phone stringByReplacingOccurrencesOfString:@"(" withString:@""];
phone = [phone stringByReplacingOccurrencesOfString:@")" withString:@""];
phone = [phone stringByReplacingOccurrencesOfString:@"-" withString:@""];
phone = [phone stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog(@"===%@",phone);
if ([phone isEqualToString:telstr])
{
return fullName;
}
}
}
return nil;
}
本文介绍了一个Objective-C方法,用于从iOS设备的通讯录中搜索特定电话号码,并返回对应的联系人全名。通过遍历地址簿并解析联系人信息,该方法能够有效地匹配输入的电话号码。
1万+

被折叠的 条评论
为什么被折叠?



