iphone中地址簿的实现
在我的申请中,我需要创建发送群短信的联系人组。首先创建群IP,然后添加成员。问题是新添加的联系人将两次添加到所有联系人列表中,一次添加到特定的群。我只需将该联系人保存到群和所有联系人列表中一次。我的代码有什么问题?我正在使用下面的代码iphone中地址簿的实现,iphone,addressbook,Iphone,Addressbook,在我的申请中,我需要创建发送群短信的联系人组。首先创建群IP,然后添加成员。问题是新添加的联系人将两次添加到所有联系人列表中,一次添加到特定的群。我只需将该联系人保存到群和所有联系人列表中一次。我的代码有什么问题?我正在使用下面的代码 - (void)newPersonViewController:(ABNewPersonViewController *)newPersonViewController didCompleteWithNewPerson:(ABRecordRef)person {}
- (void)newPersonViewController:(ABNewPersonViewController *)newPersonViewController didCompleteWithNewPerson:(ABRecordRef)person
{}
调用此方法时,新输入的联系人将添加到“所有联系人”列表中。
然后创建一个addressbook实例addressbook=ABAddressBookCreate()代码>我需要保存到组中的人是用户从界面添加的联系人。因此,该人被设置为显示的人
displayedPerson=person;
person = ABPersonCreate();
CFErrorRef error = NULL;
CFStringRef firstName, lastName;
firstName = ABRecordCopyValue(displayedPerson, kABPersonFirstNameProperty);
lastName = ABRecordCopyValue(displayedPerson, kABPersonLastNameProperty);
NSString *fname=(NSString *)firstName;
NSString *lname=(NSString *)lastName;
ABRecordSetValue(person, kABPersonFirstNameProperty,fname, &error);
ABRecordSetValue(person, kABPersonLastNameProperty,lname, &error);
ABAddressBookAddRecord(addressBook, person, &error);
ABAddressBookSave(addressBook, &error);
parentGroup = ABAddressBookGetGroupWithRecordID(addressBook,groupID);
ABAddressBookAddRecord(addressBook, parentGroup, &error);
ABAddressBookSave(addressBook, &error);
ABGroupAddMember(parentGroup, person, &error);
ABAddressBookSave(addressBook, nil);`
CFRelease(person);
但完成此操作后,联系人将再次添加到所有联系人列表中。有人能帮忙吗?我希望组不是参考,所以只需提供参考无需添加personperson=ABPersonCreate()其创建新的个人设置我们我看不出这如何处理按下“取消”的情况。
- (void)newPersonViewController:(ABNewPersonViewController *)newPersonViewController didCompleteWithNewPerson:(ABRecordRef)person
{
CFErrorRef error=NULL;
ABRecordRef parentGroup = ABAddressBookGetGroupWithRecordID(newPersonViewController.addressBook,appdelegate.default_Group);//set selected group id
ABGroupAddMember(parentGroup, person,&error);
ABAddressBookSave(newPersonViewController.addressBook, &error);
ABRecordID rcId = ABRecordGetRecordID(person);
ABAddressBookSave (newPersonViewController.addressBook, &error);
[newPersonViewController dismissModalViewControllerAnimated:YES];
}