ios - ABAddressBook:是否可以获取源的名称?

标签 ios objective-c swift contacts abaddressbook

我正在开发一个应用程序,它必须从地址簿中检索所有联系人并根据来源(Gmail、iCloud、Outlook、Facebook ecc)显示它们。我已经查过关于这个主题的所有类似的以前的答案:有人找到答案了吗?

是否可以区分这些来源(例如使用邮件地址)?

使用 kABSourceTypePropertykABSourceNameProperty 似乎无效,因为两个 Gmail 帐户将具有相同的名称和相同的类型。

还有,有没有办法让名字更有意义呢? 现在我只有这样的名字:

 - name = "" (empty string) for Facebook contacts
 - name = "Card" for iCloud contacts
 - name = "Address Book" for Gmail contacts
 - name = nil for Local Address Book, etc

最佳答案

如果其他人仍然遇到这个问题,我找到了一个针对 kABSourceTypeCardDAV 类型来源(例如 Gmail 和 Yahoo 帐户)的技巧解决方案。

诀窍是访问源的 ABRecordRefkABPersonLastNameProperty,即使它应该是 ABPerson-only 属性。结果是一个路径(我认为联系人存储在手机中的位置),其中还包含帐户的邮件/名称。

仍然不知道如何在 kABSourceTypeExchange 案例中获取帐户名称!

关于ios - ABAddressBook:是否可以获取源的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33647953/

相关文章:

Swift 包管理器,如何处理固定装置?

ios - 快速重新安装应用程序后 iCloud 文件不可见

ios - 如何重新加载整个 UIViewController 页面

objective-c - 从 Objective-C 代码调用时,Xcode 调试器无法显示 [AnyObject] 数组的值

ios - -Cocos2D中的[_NSCFConstantString纹理]错误

objective-c - 以编程方式设置后 NSView 框架恢复

ios - 使用大标题开始滚动时 UICollectionView 跳转

ios - 根据 Swift 中的空值过滤数组

iphone - iOS 中的 quartz mask ——它们还会导致崩溃吗?

ios - Swift:如何将字典数组添加到数组?