我正在iOS中开发一款应用。我可以检索人的名字和姓氏,但我想要的是如何检索手机号码信息。我已经有了这个代码来获取名字和姓氏。
CFErrorRef error = NULL;
ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, &error);
if (addressBook != nil) {
NSLog(@"Succesful.");
NSArray *allContacts = (__bridge_transfer NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
NSUInteger i = 0; for (i = 0; i < [allContacts count]; i++)
{
ABRecordRef contactPerson = (__bridge ABRecordRef)allContacts[i];
firstName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson,kABPersonFirstNameProperty);
lastName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonLastNameProperty);
fullName = [NSString stringWithFormat:@"%@ %@", firstName, lastName];
} else {
NSLog(@"Error Reading Address Book");
}
答案 0 :(得分:3)
您可以使用以下代码获取所有电话条目。 我还指定了几种类型的手机类型,让您了解如何处理它。
ABMultiValueRef phoneNumbers = ABRecordCopyValue(contactPerson, kABPersonPhoneProperty);
for (CFIndex i=0; i < ABMultiValueGetCount(phoneNumbers); i++)
{
NSString* phoneLabel = (NSString*)ABMultiValueCopyLabelAtIndex(phoneNumbers, i);
NSString* phoneNumber = ABMultiValueCopyValueAtIndex(phoneNumbers, i);
if([phoneLabel isEqualToString:(NSString *)kABPersonPhoneMobileLabel])
{
}
else if([phoneLabel isEqualToString:(NSString *)kABPersonPhoneIPhoneLabel])
{
}
CFRelease(phoneNumber);
CFRelease(phoneLabel);
}
CFRelease(phoneNumbers);
答案 1 :(得分:0)
您可以使用以下代码
获取电话号码 ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);
答案 2 :(得分:0)
试试这个
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
for(int i = 0; i < nPeople; i++)
{
// Getting the person record ...
ABRecordRef person = CFArrayGetValueAtIndex(allPeople, i);
ABMultiValueRef phones = ABRecordCopyValue(person, kABPersonPhoneProperty);
for (CFIndex i=0; i < ABMultiValueGetCount(phones); i++)
{
NSString* phoneLabel = (__bridge_transfer NSString*)ABMultiValueCopyLabelAtIndex(phones, i);
NSString* phoneNumber = (__bridge_transfer NSString*) ABMultiValueCopyValueAtIndex(phones, i);
}
CFRelease(phones);
}
CFRelease(allPeople);
CFRelease(addressBook);