将电话号码添加到iphone联系人 - 但不能替换!

时间:2009-11-30 17:37:46

标签: iphone

我正在尝试复制当您点击并按住文本字段中的电话号码链接时发生的iphone行为,您会收到菜单“创建新联系人”和“添加到现有联系人”。我有这个工作除了一件事。在“添加到现有”苹果实现中,如果已有家庭联系,则只添加另一个。它不会替换它。所以你可以拥有多个家庭电话号码。

在我的实现中,它取代了它。那么如何添加一个非破坏性的电话号码?

这是我的代码:

+(void)updatePhone:(ABRecordRef)person phone:(NSString*)phone{
ABMutableMultiValueRef phoneNumberMultiValue =  ABMultiValueCreateMutable(kABPersonPhoneProperty);  
ABMultiValueAddValueAndLabel(phoneNumberMultiValue, phone,  kABPersonPhoneMobileLabel, NULL);
ABRecordSetValue(person, kABPersonPhoneProperty, phoneNumberMultiValue, nil); 

}

任何想法?

1 个答案:

答案 0 :(得分:2)

您是否尝试过查询现有的电话号码,然后添加新号码?

这样的事情(未经过测试的代码):

+(void)updatePhone:(ABRecordRef)person phone:(NSString*)phone{
ABMutableMultiValueRef phoneNumberMultiValue =  ABMultiValueCreateMutableCopy (ABRecordCopyValue(person, kABPersonPhoneProperty));
ABMultiValueAddValueAndLabel(phoneNumberMultiValue, phone,  kABPersonPhoneMobileLabel, NULL);
ABRecordSetValue(person, kABPersonPhoneProperty, phoneNumberMultiValue, nil);
}