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);