无法将ABPerson添加到ABGroup。没有错误,只是不会实际添加

时间:2010-12-05 20:44:46

标签: iphone objective-c xcode ios4 abaddressbook

嘿我正在尝试将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 个答案:

答案 0 :(得分:4)

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

ABAddressBookAddRecord(addressBook, group, &error);

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

答案 1 :(得分:2)

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

这里有一些关于指定源(仅限iOS 4+)的详细信息和代码示例: Obtaining Specific ABSource from ABAddressBook in iOS 4+