以编程方式更改ABAddressBook,ABPersonCopyArrayOfAllLinkedPeople中的链接联系人数组

Rab*_*Dev 6 iphone objective-c contacts abaddressbook ios

可以通过编程方式添加/删除ABPersonCopyArrayOfAllLinkedPeople返回的CFArray中的联系人,从而有效地链接和取消链接来自各种来源的不同联系人记录,以在iOs电话簿中显示为"统一"吗?

小智 2

据我所知,至少在 iOS 6 SDK 中,没有公开用于链接或取消链接联系人的公共 API。但是,您确实可以通过调用未记录的私有函数来在联系人之间创建链接bool ABPersonLinkPerson(ABRecordRef from, ABRecordRef to)。这个签名可能不完全正确——我还没有对此进行彻底的测试。

如果您使用私有 API,您的应用程序当然不太可能获得批准,但如果您试图为了单元测试而制作一个假地址簿,并且您想要其中包含一些链接的联系人,则这可能是有用。