iPh*_*erd 6 objective-c abaddressbook ios
如何获取ABAddressBook要显示的源名称?(我知道枚举kABSourceTypeLocal,kABSourceTypeExchange...)
我不是指您使用的源类型名称ABRecordCopyValue(来源ABSourceNameProperty),而是Apple的Contacts-App中显示的真实姓名作为表格部分,例如:"Exchange Google"或"iCloud"
如果您查看ABSource Reference,您可以看到它们有一个名为 的属性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);
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
1067 次 |
| 最近记录: |