ABAddressBook:是否可以获取Source的名称?

时间:2015-11-11 09:49:16

标签: 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

1 个答案:

答案 0 :(得分:1)

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

诀窍是访问源kABPersonLastNameProperty的{​​{1}},即使它应该只是ABRecordRef属性。结果是一条路径(我认为联系人存储在手机中的位置),其中还包含帐户的邮件/名称。

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