如何获得ABAddressBook源代码的名称来显示它?(我知道kABSourceTypeLocal,kABSourceTypeExchange,.)
我指的不是ABRecordCopyValue(源代码,ABSourceNameProperty__)的源类型名称,而是苹果联系人应用程序中显示的实名,例如:"Exchange“或"iCloud”。
发布于 2012-07-02 19:59:30
如果您签出ABSource参考,您可以看到它们有一个名为kABSourceNameProperty的属性,其中包含“源的名称”。下面是获取所有源名的方法:
NSMutableArray *sourceNames = [[NSMutableArray alloc] init];
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef sourcesArray = ABAddressBookCopyArrayOfAllSources(addressBook);
for (CFIndex i = 0; i < CFArrayGetCount(sourcesArray); i++) {
ABRecordRef source = (ABRecordRef)CFArrayGetValueAtIndex(sourcesArray, i);
CFStringRef sourceName = (CFStringRef)ABRecordCopyValue(ABRecordGetRecordID(source, kABSourceNameProperty);
if(sourceName){
[sourceNames addObject: (__bridge_transfer NSString *)sourceName];
}
}
CFRelease(sourcesArray);
CFRelease(addressBook);希望这能有所帮助!
https://stackoverflow.com/questions/10494897
复制相似问题