Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Programmatically change linked contacts array in ABAddressBook, ABPersonCopyArrayOfAllLinkedPeople

Can one programmatically add/remove the contacts inside the CFArray returned by ABPersonCopyArrayOfAllLinkedPeople, thus, effectively, linking and un-linking different records of contacts from various sources to show as "unified" in the iOs phone book?

like image 355
RabinDev Avatar asked May 31 '11 10:05

RabinDev


1 Answers

As far as I've been able to determine, there is no public API exposed for linking or unlinking contacts, at least in the iOS 6 SDK. However, it does appear that you can create links between contacts by calling the undocumented, private function bool ABPersonLinkPerson(ABRecordRef from, ABRecordRef to). That signature may not be exactly right--I haven't tested this too thoroughly.

Your app is of course unlikely to be approved if you make use of private APIs, but if you're trying to, say, make a fake address book for the sake of unit testing and you want some linked contacts in that, this could be useful.

like image 177
snb Avatar answered Nov 18 '22 03:11

snb