私がやろうとしているのは、すべての連絡先を取得し、連絡先にSocialProfilePropertyがあるかどうかに依存することです。SocialProfilePropertyを持つすべての連絡先を取得した後、Facebook、Twitter、..であるかどうかを知るために簡単なフィルタリングを行います。
この質問を投稿する前に、私はこの問題の解決策を見つけようと一日中西に行きますか?
しかし、それは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);