ABRecordCopyValue返回0?(ABRecordCopyValue return 0 ?

2019-08-16 15:31发布

我试图做的,是让所有的联系和依赖,如果接触有SocialProfileProperty与否,之后得到这一切的联系人有SocialProfileProperty我将简单的过滤知道它是Facebook,微博,..

在我发布这个问题我西整天试图寻找这个问题的任何解决方案?

但它允许返回0?

ABAddressBookRef addressBook;
CFErrorRef *erer = NULL;
addressBook = ABAddressBookCreateWithOptions(NULL, erer);
CFArrayRef _allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex _nPeople = ABAddressBookGetPersonCount(addressBook);
NSMutableArray *socialArray = [[NSMutableArray alloc] init];
ABMultiValueRef socialProfiles;
for (int i=0;i<_nPeople; i++) {
    ABRecordRef _person=CFArrayGetValueAtIndex( _allPeople,i);
    NSNumber *recordId = [NSNumber numberWithInteger:ABRecordGetRecordID(_person)];
    NSLog(@"%@",recordId);
    socialProfiles = ABRecordCopyValue(_person, kABPersonSocialProfileProperty);
    if (ABMultiValueGetCount(socialProfiles)>0) {
        [socialArray addObject:(__bridge id)(socialProfiles)];
    }
}
NSLog(@"%d",socialArray.count);

Answer 1:

它允许返回0,直到用户玛吉与当地社会的联系和不

没有发生,直到他试图删除Facebook帐户,例如在这种情况下出现的警报

并询问如果u想给玛吉接触或不??? 其他明智返回0值:)

所以这个方法行不通,直到用户玛吉的Facebook联系人与当地的联系。



文章来源: ABRecordCopyValue return 0 ?