Tag: abrecord

处理由iOS中的地址簿API中的链接卡造成的重复联系人

我即将推出的应用程序的一些testing版用户报告说,联系人列表包含大量重复的logging。 我使用ABAddressBookCopyArrayOfAllPeople的结果作为我自定义的联系人表格视图的数据源,它让我感到困惑,结果与iPhone的“联系人”应用程序不同。 当仔细查看“通讯录”应用程序时,似乎重复内容来源于“已链接卡片”的条目。 下面的屏幕截图已经被混淆了一下,但正如你在我的应用程序中最右边看到的,“Celine”显示了两次,而左侧的Contacts应用程序中只有一个“Celine”。 如果您点击单个联系人的行,您会看到一张带有两个“链接卡”的“统一信息”卡(如中间所示,因为他们不适合在一个屏幕截图上,所以没有使用塞琳的联系方式) : 关于“链接卡片”的问题在苹果为最终用户提供的论坛上有不less 话题 ,但除了许多指向404支持页面的事实之外,我实际上并没有解决所有应用程序用户的通讯录问题。 我宁愿处理它优雅,而不打扰用户。 更糟糕的是,似乎我不是唯一的这个问题,因为WhatsApp显示包含重复联系人的同一个列表 。 只是为了清楚重复的联系人的起源,我不存储,caching或以其他方式试图聪明的数组ABAddressBookCopyArrayOfAllPeople返回。 所以重复logging直接来自API调用。 有谁知道如何处理或检测这些连接的卡,防止重复logging显示? 苹果的通讯录应用程序,我们其他人也可以这样做吗? 更新:我写了一个库,并把它放在Cocoapods上解决手头的问题。 看到我的答案在下面