我如何更新现有的联系电话?

时间:2013-04-18 11:10:29

标签: ios objective-c abaddressbook

大家好我正在尝试使用以下代码更新联系人的电话

ABAddressBookRef addressBook = ABAddressBookCreate();
    CFErrorRef error = nil;
    ABMutableMultiValueRef phoneMultiValue = ABMultiValueCreateMutable(kABPersonPhoneProperty);
    bool didAddphone = ABMultiValueAddValueAndLabel(phoneMultiValue, (CFTypeRef)(_homePhoneText.text), kABHomeLabel, NULL);

if(didAddphone){
        ABRecordSetValue(ABAddressBookGetPersonWithRecordID(addressBook, [_ID integerValue]),
                         kABPersonPhoneProperty,
                         phoneMultiValue,
                         nil);
    } else {
        NSLog(@"Error adding email: %@", error);
        error = nil;
    }

但它不起作用。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

首先关闭:ABAddressBookCreate已弃用,在iOS 6下无效(它始终返回NULL)。而是使用ABAddressBookCreateWithOptions(文档:http://developer.apple.com/library/ios/#documentation/AddressBook/Reference/ABAddressBookRef_iPhoneOS/Reference/reference.html)。

之后,您需要保存地址簿以进行更改,并通过地址簿拨打ABAddressBookSave来执行此操作。