ABAddressBookAddRecord添加一旦删除联系失败

时间:2012-09-18 12:06:49

标签: iphone objective-c ios

我正在尝试从地址簿中删除联系人,然后重新添加。 删除没问题,但我无法添加它。没有错误。 新创建的联系人(ABPersonCreate();)有效。

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allContacts = ABAddressBookCopyArrayOfAllPeople(ab);
ABRecordRef contact = CFArrayGetValueAtIndex(allContacts, 0);

ABAddressBookRemoveRecord(addressBook, contact, nil);
ABAddressBookSave(addressBook, nil);

BOOL addSuccess = ABAddressBookAddRecord(addressBook, contact, &error)
// addSuccess == YES, 
// error == null

BOOL saveSuccess = ABAddressBookSave(addressBook, &error)
// saveSuccess == YES
// error == null

未添加联系人!为什么呢?

1 个答案:

答案 0 :(得分:0)

尝试以下程序:

  • 获取联系方式(即您在调用“ CFArrayGetValueAtIndex(allContacts,0)”时所执行的操作)。
  • 创建一个新联系人(让我们将其命名为contact2),并将您获得的详细信息复制到新联系人(使用命令“ ABRecordSetValue(contact2,kABPersonFirstNameProperty,CFSTR(”MyFirstName“)和& Error)“等等......)。
  • 删除第一个联系人(联系人)。
  • 保存地址簿。
  • 将contact2添加到地址簿。
  • 保存地址簿。

希望它有所帮助。