1

我按照 Apple 关于获取联系人电话号码的教程进行操作,效果很好,但它只检测带有“家庭”标签的电话号码。这是我的代码:

- (void)displayPerson:(ABRecordRef)person {
NSString* phone = nil;
ABMultiValueRef phoneNumbers = ABRecordCopyValue(person,
                                                 kABPersonPhoneProperty);
if (ABMultiValueGetCount(phoneNumbers) > 0) {
    phone = (__bridge_transfer NSString*)
    ABMultiValueCopyValueAtIndex(phoneNumbers, 0);
} else {
phone = @"[None]";
}
self.contactNumber.text = phone;
CFRelease(phoneNumbers); }

任何人都知道它为什么这样做?

4

1 回答 1

4

那是因为这条线

ABMultiValueCopyValueAtIndex(phoneNumbers, 0);

告诉它获取第一个电话号码,即“家庭”号码。

请参阅此帖子: 访问 iPhone 通讯录中的人员信息

于 2013-08-02T15:40:38.160 回答