我想从通讯录中获取选定联系人的电话号码,然后拨打该号码,但对于某些联系人,这是实现的,而对于其他人,返回的电话号码为 NULL!我检查了我的手机以查看 2 个联系人之间的差异(其中一个,代码返回正确的号码,而另一个,它返回 NULL)我可以看到绝对没有区别(两个联系人都有名字,姓氏,和手机号码)。我对发生这种情况的原因以及获取电话号码的解决方案感兴趣。可用时的联系人。提前致谢!
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person {
ABMultiValueRef phoneNumberProperty = ABRecordCopyValue(person, kABPersonPhoneProperty);
NSArray* phoneNumbers = (__bridge NSArray*)ABMultiValueCopyArrayOfAllValues(phoneNumberProperty);
CFRelease(phoneNumberProperty);
if (phoneNumbers[0] != NULL) {;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"telprompt:%@", phoneNumbers[0]]]];
}
[self dismissViewControllerAnimated:YES completion:nil];
return NO;
}