Не могу добавить ABPerson в ABGroup. Без ошибок, просто не добавлю - PullRequest
1 голос
/ 05 декабря 2010

Эй, я пытаюсь добавить 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

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

Ответы [ 2 ]

4 голосов
/ 05 декабря 2010

Ничего себе не через 5 минут после публикации, я нашел проблему. После редактирования группы я должен добавить ее обратно в адресную книгу следующим образом:

ABAddressBookAddRecord(addressBook, group, &error);

if(ABAddressBookSave(addressBook, &error))
    NSLog(@"Commited changes.");
2 голосов
/ 25 января 2011

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

Здесь приведены некоторые подробности и примеры кода по указанию источников (только для iOS 4+): Получение определенного источника ABS из ABAddressBook в iOS 4 +

...