Some beta-users of my upcoming app are reporting that the list of contacts contain a lot of duplicate records. I\'m using the result from ABAddressBookCopyArrayOfAllPeople a
I'm getting all sources ABAddressBookCopyArrayOfAllSources, moving the default one ABAddressBookCopyDefaultSource to the first position, then iterate through them and getting all people from source ABAddressBookCopyArrayOfAllPeopleInSource skipping ones I've seen linked before, then getting linked people on each ABPersonCopyArrayOfAllLinkedPeople.