我遇到了一个问题,我无法在地址簿中检测到源类型(例如:gmail,yahoo或Exchange帐户)。
我使用方法ABAddressBookCopyArrayOfAllSources获取所有来源。
CFArrayRef allSources = ABAddressBookCopyArrayOfAllSources(book);
for (CFIndex i = 0; i < CFArrayGetCount(allSources); i++) {
ABRecordRef source = (ABRecordRef)CFArrayGetValueAtIndex(allSources, i);
NSString *sourceTypeName = (NSString *)((CFStringRef)ABRecordCopyValue(source, kABSourceNameProperty));
NSLog(@"%@", sourceTypeName);
}
但Gmail帐户来源名称为“地址簿”(这对我来说很奇怪) iCloud帐户来源名称为“卡”(也很奇怪)。源类型是cardav
我搜索了几个类似的问题:
1。AddressBook: Differentiating sources of type kABSourceTypeExchangeGAL
2。ABAddressBook ABSource and ABSourceType
答案是你无法检测到帐户。
但是,我下载了一个名为“Cobook”的应用程序。它可以显示我的gmail帐户名。我很好奇应用程序如何做到这一点。我没有发现有一些api可以得到这个信息。
谢谢你。