2010-12-05 1 views
1

Эй, я пытаюсь добавить ABPerson в группу ABGroup. У меня нет никаких ошибок. Мой вывод говорит мне, что человек был успешно добавлен.Невозможно добавить ABPerson в ABGroup. Нет ошибок, просто не добавится

if(ABGroupAddMember(self.group, [allContacts objectAtIndex:indexPath.row], &error)) 
      NSLog(@"Added person: %@ to group: %@", ABRecordCopyCompositeName([allContacts objectAtIndex:indexPath.row]), ABRecordCopyCompositeName(self.group)); 

if(ABAddressBookSave(self.addressBook, &error)) 
     NSLog(@"Commited changes."); 

Эти два утверждения возвращают правильный выход.

Но после запроса членов группы я получаю пустой массив.

NSLog(@"%@", ABGroupCopyArrayOfAllMembers(self.group)); //returns null 

Если у кого-то есть идеи, я бы очень признателен.

ответ

4

Wow not 5 minutes after posting, я нашел проблему. После редактирования группы, я должен добавить его в адресную книгу так:

ABAddressBookAddRecord(addressBook, group, &error); 

if(ABAddressBookSave(addressBook, &error)) 
    NSLog(@"Commited changes."); 
2

Так как создание FYI, некоторые источники (ABSource, например MSExchange) не поддерживают группы.

Есть некоторые детали и примеры кода на указания источников (IOS 4 + только) здесь: Obtaining Specific ABSource from ABAddressBook in iOS 4+