您应该调试代码并尝试确定您提供给该方法的电话号码的格式是否匹配。
例如当我记录我的联系人列表电话号码时,这些是结果
Number...555-478-7672
Number...(408) 439-5270
Number...(408) 555-3514
Number...888-555-5512
Number...888-555-1212
Number...555-522-8243
Number...(555) 766-4823
Number...(707) 555-1854
Number...555-610-6679
我正在将这些数字与未格式化的数字字符串进行比较。
第二
ABRecordSetValue(ABAddressBookGetPersonWithRecordID(addressBook, contactSelected),
kABPersonPhoneProperty,
phoneNumberMultiValue,
nil);
谁的实际声明是
ABRecordSetValue(ABRecordRef record, ABPropertyID property, CFTypeRef value, CFErrorRef* error);
虽然ABAddressBookGetPersonWithRecordID
返回一个ABRecordRef
但你已经有了ABRecordRef contactSelected;
所以我认为你应该使用
ABRecordSetValue(contactSelected,kABPersonPhoneProperty,phoneNumberMultiValue,nil);
如果我错了或者误解了您的代码,请纠正我!