2011-07-08 61 views
4

我正在开发iPhone通讯录管理应用程序。一位用户报告说他的所有联系人都被复制了。当他选择特定的来源时,联系人不会被重复。显然这是因为他的地址簿被同步了两次:在他的电脑上使用iTunes,以及在空中使用Exchange。iPhone通讯录:避免重复

你们有什么想法我可以摆脱重复?我不认为recordID是相同的,并且按名称过滤看起来不是一个好主意:)

谢谢!

+0

详细解释可以在这里找到: http://stackoverflow.com/questions/4067542/getting-merged-unified-entries-from-abaddressbook/10062972#10062972 –

回答

3

查看ABPersonCopyArrayOfAllLinkedPeople - 它会给你合并在一起的记录。

+0

谢谢!所以这个想法应该是用ABAddressBookCopyArrayOfAllPeople获得所有(可能重复的联系人)的数组,然后使用ABPersonCopyArrayOfAllLinkedPeople遍历这个数组来检查重复吗?以及如何选择最好的联系人(苹果Contacts应用程序将显示的联系人)?再次感谢 – saintmac

+0

请注意,所有链接的记录看起来都很相似(即每个链接的记录都会返回ABPersonCopyArrayOfAllLinkedPeople中的所有其他记录)。据我记得,它自动链接只有记录具有相同的信息(如同一个记录交叉同步来自两个来源),所以它可能显示哪一个无关紧要。 – SVD

+1

链接的联系人可以有不同的信息。随机挑选一个不是一个好主意。 – pre