我想做的是获取所有联系人并依赖(如果联系人有)社会档案财产或没有,在获得所有这些联系人之后社会档案财产我会做简单的过滤来知道是否是脸书、推特、..
在我发布这个问题之前,我花了一整天的时间试图找到这个问题的解决方案?
但它允许返回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);
它允许返回 0 ,直到用户将社交联系人与本机联系起来,这确实
直到他尝试删除 Facebook 帐户后才发生这种情况,例如在这种情况下会出现警报
并询问你是否想添加联系人???否则返回 0 值:)
因此,在用户将 FaceBook 联系人与本机联系人关联之前,此方法永远不会起作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)