我需要知道如何从 iPhone 的 xcode 中的地址簿中提取每个姓名和号码。我需要具有以下格式的名称和号码:
约翰·多伊:000000000000000 简·多伊:000000000000000
我需要知道如何从 iPhone 的 xcode 中的地址簿中提取每个姓名和号码。我需要具有以下格式的名称和号码:
约翰·多伊:000000000000000 简·多伊:000000000000000
您是否正在搜索通讯录中所有人的所有电话号码?看看ABAddressBookCopyArrayOfAllPeople。
您可以像这样使用它:(未经测试在浏览器中编码)
ABAddressBookRef _addressBookRef = ABAddressBookCreate ();
NSArray* allPeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(_addressBookRef);
NSMutableArray* _allItems = [[NSMutableArray alloc] initWithCapacity:[allPeople count]]; // capacity is only a rough guess, but better than nothing
for (id record in allPeople) {
CFTypeRef phoneProperty = ABRecordCopyValue((ABRecordRef)record, kABPersonPhoneProperty);
NSArray *phones = (NSArray *)ABMultiValueCopyArrayOfAllValues(phoneProperty);
CFRelease(phoneProperty);
for (NSString *phone in phones) {
NSString* compositeName = (NSString *)ABRecordCopyCompositeName((ABRecordRef)record);
NSString* field = [NSString stringWithFormat@"%@:%@",compositeName,phone];
[compositeName release];
[_allItems addObject:field];
}
[phoness release];
}
CFRelease(_addressBookRef);
[allPeople release];
allPeople = nil;