循环遍历所有地址簿联系人时,是否有办法查看某条记录是否仅限 Facebook 记录?这是在 iOS 设置中添加 Facebook 时插入的通讯录记录。
我试图跳过这些记录,只查看用户输入的或从其他来源同步的记录。
谢谢
最佳答案
使用此代码片段,您可以检测 Facebook 联系人:
+ (BOOL)isPersonFacebookContact:(ABRecordRef)person {
ABMultiValueRef instantMessage = ABRecordCopyValue(person, kABPersonInstantMessageProperty);
BOOL returnValue = NO;
if (instantMessage) {
for (NSInteger i=0 ; i < ABMultiValueGetCount(instantMessage); i++) {
CFDictionaryRef instantMessageValue = ABMultiValueCopyValueAtIndex(instantMessage, i);
CFStringRef instantMessageString = CFDictionaryGetValue(instantMessageValue, kABPersonInstantMessageServiceKey);
if (CFStringCompare(instantMessageString, kABPersonInstantMessageServiceFacebook, 0) == kCFCompareEqualTo) {
returnValue = YES;
}
CFRelease(instantMessageString);
CFRelease(instantMessageValue);
}
}
CFRelease(instantMessage);
return returnValue;
}
关于ios - ABRecordRef 检查记录是否仅限 Facebook?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16147962/