Я использовал следующий способ для решения этой задачи.
1.Получить уникальный идентификатор группы.
ABRecordRef currentGroup = (ABRecordRef)CFBridgingRetain([source.groups objectAtIndex:groupIndex]);
ABRecordID currentGroupID=ABRecordGetRecordID(currentGroup);
2.Добавьте участника в группу.
ABRecordRef currentGroup = ABAddressBookGetGroupWithRecordID(addressBook, currentGroupID);
BOOL didAdd,didSave;
NSString *strPersonContactID=[appDelegate.arrOfSelectedContactsToEdit objectAtIndex:i];
ABRecordID personContactID=(ABRecordID)[strPersonContactID intValue];
ABRecordRef person = ABAddressBookGetPersonWithRecordID(addressBook, personContactID);
didAdd = ABGroupAddMember(currentGroup,person,&error);
if (!didAdd)
{
NSLog(@"Unresolved error while adding person group");
}
didSave = ABAddressBookSave(addressBook, &error);
if (!didSave)
{
NSLog(@"Unresolved error while saving address book");
}
CFRelease(addressBook);
И если вы хотите проверить существование группы, используйте идентификатор группы, это поможет вам однозначно дифференцировать группы.