1

嘿,我正在尝试将 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

2 回答 2

4

哇,发布后不到 5 分钟,我发现了问题。编辑组后,我必须将其添加回地址簿,如下所示:

ABAddressBookAddRecord(addressBook, group, &error);

if(ABAddressBookSave(addressBook, &error))
    NSLog(@"Commited changes.");
于 2010-12-05T20:55:34.397 回答
2

仅供参考,一些源(ABSource,例如 MSExchange)不支持组创建。

这里有一些关于指定源的详细信息和代码示例(仅限 iOS 4+): 在 iOS 4+ 中从 ABAddressBook 获取特定 ABSource

于 2011-01-25T09:18:19.373 回答