如何找出一个人的父母群体?

fly*_*pig 3 addressbook ios

在MAC平台上,ABPerson类具有parentGroups属性,该属性告诉我们该人属于哪些组.但是在IOS平台上,没有这样的方法或属性..

如何找出一个人的父母群体?我是否需要逐个搜索所有群组?

谢谢.

Dai*_*jan 6

另一个线程提到了ABPersonCopyParentGroups - 但这在ios上是错误的.

没有api调用所以需要直接这样做

ABRecordRef personToFind = ....
ABRecordID id = ABRecordGetRecordID(personToFind);

NSArray *groups = (__bridge_transfer NSArray*)ABAddressBookCopyArrayOfAllGroups(bookRef);
for(ABGroupRef group in groups) {
    NSArray *members = (__bridge_transfer NSArray*)ABGroupCopyAllMembers(group);
    for(ABRecordRef member in members) {
        if(id == ABRecordGetRecordID(member){
            NSLog(@"found in group %@!", ABGroupCopyProperty(group, kABGroupName);
            break;
        }
    }            
}
Run Code Online (Sandbox Code Playgroud)

*打印内联,无保证 - 可能有拼写错误!