- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试通过我的应用程序更新地址簿中现有联系人的内容,但不需要 UI。场景是这样的:
1 用户输入号码和姓名2 应用程序检查该姓名是否在联系人列表中3 如果是,则检查该号码是否是该姓名的联系人之一4 如果没有,则会将其添加到该名称中
我已经成功实现了步骤 1-3,但我找不到执行步骤 4 的方法。有人可以帮忙吗?
下面是我的代码的样子
...
CFIndex lTotalContactsCount = ABAddressBookGetPersonCount(lAddressBook);
NSArray *people = (NSArray *)ABAddressBookCopyArrayOfAllPeople(lAddressBook );
for (CFIndex i = 0; i < lTotalContactsCount; i++)
{
ABRecordRef lRef = (ABRecordRef)[people objectAtIndex:i];
...
// if names match
{
ABMutableMultiValueRef lPhoneNumbers = ABRecordCopyValue(lRef, kABPersonPhoneProperty);
CFIndex lContactPhoneNumberCount = ABMultiValueGetCount(lPhoneNumbers);
ABRecordID contactID = ABRecordGetRecordID(lRef);
...
// if numbers dont match
{
// THIS BIT IS NOT WOKRING
CFErrorRef error = NULL;
ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(multiPhone, number, (CFStringRef)@"Duplicate", NULL);
// ABRecordSetValue(newPerson, kABPersonFirstNameProperty, name, &error);
//add the number to the contact
ABRecordSetValue(lRef, kABPersonPhoneProperty, multiPhone,nil);
// ABAddressBookAddRecord(lAddressBook, lRef, &error);
ABAddressBookSave(lAddressBook, &error);
}
if( firstName )
CFRelease(firstName);
if( lastName )
CFRelease(lastName);
if( lPhoneNumbers )
CFRelease(lPhoneNumbers);
// no need to search other entries
if(numberExists)
break;
}
最佳答案
今天早上进一步查看 API 后,我设法找到了解决方案。给你:
// contactId is the ID of the person i need to add a new number to his contacts
// got the id through : ABRecordGetRecordID( ABRecordRef )
ABRecordRef person = ABAddressBookGetPersonWithRecordID(lAddressBook, contactID);
ABMutableMultiValueRef multiPhone = ABMultiValueCreateMutableCopy(lPhoneNumbers);
ABMultiValueAddValueAndLabel(multiPhone, number, (CFStringRef)@"Duplicate", NULL);
//add the number to the contact
ABRecordSetValue(person, kABPersonPhoneProperty, multiPhone,nil);
ABAddressBookSave(lAddressBook, &error);
关于iphone - 将新号码添加到 ABAddressBook 中的现有 ABRecord - iPhone,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4739417/
我需要从应用程序中引用 ABPerson 记录。我用unique ID提供者: - (NSString *)uniqueId 并将其附加到我的应用内联系人记录中。 另外,我保存ABPerson's
我是 iPhone 开发新手,您能告诉我如何序列化 AdressBook 记录吗? 我已阅读stackoverflow - How do I serialize a simple object in
我想将 ABRecord 转换为字符串 textfield.text=(NSString *)(ABRecordGetRecordID(ref)); 我该怎么做。 最佳答案 ABRecordID 只是
我看了一下SE问题here [Avinash 的回答] 和 Apple 资源 here [第 18 页底部和第 19 页顶部] 我试图为 ABRecord 设置地址。我尽力从 Objective-C
我正在尝试通过我的应用程序更新地址簿中现有联系人的内容,但不需要 UI。场景是这样的: 1 用户输入号码和姓名2 应用程序检查该姓名是否在联系人列表中3 如果是,则检查该号码是否是该姓名的联系人之一4
我有这个代码: - (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker
我正在尝试通过我的应用程序更新地址簿中现有联系人的内容,但不需要 UI。场景是这样的: 1 用户输入一个数字和一个名字2 应用程序检查该名称是否在联系人列表中3 如果是,则检查该号码是否是该名称的联系
我想让我的应用程序的用户能够从他们的地址簿中获取他们的联系人。我可以展示 ABPeoplePickerNavigationController,用户可以选择一个人,然后 ABPPNC 再次关闭。 这就
我是一名优秀的程序员,十分优秀!