Cocoa touch ABRecordRef(电话簿或icloud)的来源

Cocoa touch ABRecordRef(电话簿或icloud)的来源,cocoa-touch,abaddressbook,abrecordref,Cocoa Touch,Abaddressbook,Abrecordref,我需要找出ABRecordRef的来源,因为下面的方法返回电话簿和icloud中的联系人数组,结果是同一个人(firest,last name)有两个联系人,但ABRecordID recordId=ABRecordGetRecordID(record) if ([linkedPersonsToSkip containsObject:(__bridge id)(record)]) { continue; } NSArray *linked

我需要找出ABRecordRef的来源,因为下面的方法返回电话簿和icloud中的联系人数组,结果是同一个人(firest,last name)有两个联系人,但ABRecordID recordId=ABRecordGetRecordID(record)

if ([linkedPersonsToSkip containsObject:(__bridge id)(record)]) {
                            continue;
}

NSArray *linked = (__bridge NSArray *) ABPersonCopyArrayOfAllLinkedPeople(record);
if ([linked count] > 1) {
   [linkedPersonsToSkip addObjectsFromArray:linked];
}
ABAddressBookRef地址簿;
if([self IsabAddressBookCreateWithOptions Available]){
CFErrorRef error=nil;
addressBook=ABAddressBookCreateWithOptions(空,错误(&R);
ABAddressBookRequestAccessWithCompletion(addressBook,^(已授予bool,CFErrorRef错误){
dispatch\u async(dispatch\u get\u main\u queue()^{
如果(错误){
}否则,如果(!已授予){
}否则{
CFArrayRef allPeople=abAddressBookCopyArrayFallPeople(addressBook);
CFIndex nppeople=ABAddressBookGetPersonCount(地址簿);
for(int i=0;i

if ([linkedPersonsToSkip containsObject:(__bridge id)(record)]) {
                            continue;
}

NSArray *linked = (__bridge NSArray *) ABPersonCopyArrayOfAllLinkedPeople(record);
if ([linked count] > 1) {
   [linkedPersonsToSkip addObjectsFromArray:linked];
}
添加新集合

NSMutableSet *linkedPersonsToSkip = [[NSMutableSet alloc] init];
if ([linkedPersonsToSkip containsObject:(__bridge id)(record)]) {
                            continue;
}

NSArray *linked = (__bridge NSArray *) ABPersonCopyArrayOfAllLinkedPeople(record);
if ([linked count] > 1) {
   [linkedPersonsToSkip addObjectsFromArray:linked];
}
然后检查每个人

if ([linkedPersonsToSkip containsObject:(__bridge id)(record)]) {
                            continue;
}

NSArray *linked = (__bridge NSArray *) ABPersonCopyArrayOfAllLinkedPeople(record);
if ([linked count] > 1) {
   [linkedPersonsToSkip addObjectsFromArray:linked];
}