アドレス帳から iPhone の「電話番号」を取得するために kABPersonPhoneProperty を使用しています。ただし、プログラムを実行すると、連絡先担当者が携帯電話、自宅、および iPhone の番号を持っていても、1 つの電話番号しか表示されません。助けてください。すべての連絡先からすべての電話番号を取得できることを願っています。ありがとう。
完全な方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
// cell.textLabel.text = [people objectAtIndex:indexPath.row];
ABRecordRef record = (__bridge ABRecordRef) [people objectAtIndex:[indexPath row]];
NSString *firstName = (__bridge_transfer NSString*)ABRecordCopyValue(record, kABPersonFirstNameProperty);
NSString *lastName = (__bridge_transfer NSString*)ABRecordCopyValue(record, kABPersonLastNameProperty);
NSLog(@"FirstName %@, LastName %@", firstName, lastName);
cell.nameLabel.text = [NSString stringWithFormat:@"%@ %@", firstName, lastName];
ABMultiValueRef mainPhone = ABRecordCopyValue(record, kABPersonPhoneProperty);
for (CFIndex i = 0; i < ABMultiValueGetCount(mainPhone); i ++) {
NSString *phoneMobileNumber = (__bridge_transfer NSString*)ABMultiValueCopyValueAtIndex(mainPhone, i);
cell.telNo.text = [NSString stringWithFormat:@"%@ %@" , home, phoneMobileNumber];
NSLog(@"%@,%@", home, phoneMobileNumber);
}
return cell;
}