Ios 尽管已成功添加电话号码,但电话号码未出现在通讯簿中

Ios 尽管已成功添加电话号码,但电话号码未出现在通讯簿中,ios,Ios,我正在将联系人添加到通讯簿中,到目前为止,它只包含姓名和电话号码 当我去查看时,联系人会出现在通讯簿中,但电话号码不存在 ABAddressBookRef adbk = ABAddressBookCreate(); ABRecordRef contact = ABPersonCreate(); CFErrorRef error = nil; BOOL success = ABRecordSetValue(contact, kABPersonFirstNameProperty, @"f nam

我正在将联系人添加到通讯簿中,到目前为止,它只包含姓名和电话号码

当我去查看时,联系人会出现在通讯簿中,但电话号码不存在

ABAddressBookRef adbk = ABAddressBookCreate(); 
ABRecordRef contact = ABPersonCreate(); 
CFErrorRef error = nil;
BOOL success = ABRecordSetValue(contact, kABPersonFirstNameProperty, @"f name", &error); 

ABMutableMultiValueRef phone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
success = ABMultiValueAddValueAndLabel(phone,  @"123456789",kABPersonPhoneMainLabel, nil);
CFRelease(phone); 

success = ABAddressBookAddRecord(adbk, contact, &error);
success = ABAddressBookSave(adbk, &error); 
CFRelease(contact); 
CFRelease(adbk);
尝试用例如KabbersonPhoneMobileLabel替换KabbersonPhoneMainLabel,但没有任何区别。 为什么出现的是姓名而不是电话号码


每个函数都返回YES。

看起来您忘记了用电话号码调用ABRecordSetValue。请参阅下面的代码片段

ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiPhone, @"1-555-555-5555", kABPersonPhoneMainLabel, NULL);
ABMultiValueAddValueAndLabel(multiPhone, @"1-123-456-7890", kABPersonPhoneMobileLabel, NULL);            
ABMultiValueAddValueAndLabel(multiPhone, @"1-987-654-3210", kABOtherLabel, NULL);        
ABRecordSetValue(newPerson, kABPersonPhoneProperty, multiPhone,nil);
CFRelease(multiPhone);