如何使用 AddressBook 框架而不是使用新的 Contacts Framework 从 ABAddressBook iOS 获取统一联系人?有可能吗?

How to fetch unified contacts from ABAddressBook iOS using AddressBook framework but by not using new Contacts Framework ? Is it even possible?

当从地址簿中获取所有联系人以显示自定义联系人选择器时,某些联系人是部分联系人。即,同一联系人可能已从 Facebook 或 iCloud 同步。所以可能有两个联系人,一个包含电子邮件地址,第二个包含同一个人的 phone 号码。在获取地址簿中的所有联系人时,如何将这些部分拆分的联系人统一为一个联系人。

有一个 属性 :- ABRecordID 用于获取联系人的唯一 ID。

例如:- 在你的 iPhone 通讯录中,有 X 先生这样的联系方式:-

X 先生

+1 5667-8899

+91 77977 98789

x@gmail.com

x2@gmail.com

因此,要唯一标识属于 X 先生的所有电子邮件或 phone 号码,ABRecordID 就在那里。

并且根据您的问题,每当您尝试获取所有联系人时,一旦完成,然后根据记录 id 对联系人数据进行分组,这就是您如何获得多个 phone 或电子邮件。

Apple 文档:- https://developer.apple.com/library/ios/documentation/ContactData/Conceptual/AddressBookProgrammingGuideforiPhone/Chapters/DirectInteraction.html