如何在“本地”地址簿中创建联系人?

时间:2011-01-13 00:55:28

标签: iphone contacts addressbook abaddressbook

我想以编程方式在“本地”地址簿中创建一个联系人(这样它就不会尝试同步,这会导致与Exchange的兼容性问题)。

如果本地地址簿已经存在,我可以使用ABAddressBookCopyArrayOfAllSources找到地址簿中的所有源,然后查找带有“kABSourceTypeLocal”的sourceTypeRef的ABRecordRef - 如果我然后将该recordRef传递给ABPersonCreateInSource,我可以将记录添加到本地目录。

如果没有本地地址簿,有没有人对如何在“本地地址簿”中创建记录有任何建议?

(另外,我怎么能在iOS4之前做这个,因为以上的电话不可用呢?)

由于

彼得

2 个答案:

答案 0 :(得分:1)

你应该看一下这篇文章: Obtaining Specific ABSource from ABAddressBook in iOS 4+

演示了如何识别和定位ABAddressBook中的特定源(ABSource)。虽然这段代码提到了函数ABGroupCreateInSource(),但是有一个类似的函数ABPersonCreateInSource()用于与人合作。

答案 1 :(得分:1)

我找到了一个简单的解决方法。 由于您在没有任何预先存在的本地联系人时无法查看/添加本地联系人,因此可以安全地使用以下解决方法:

  1. 让我们假装你正在使用Gmail(Exchange)
  2. 转到Gmail的“邮件”设置并停用“联系人同步”
  3. 系统提示您是要保留还是删除Gmail 来自手机的联系人,选择删除它们(别担心,他们 不会从Gmail中删除)
  4. 返回您的联系人。您现在可以创建一个LOCAL联系人
  5. 最后,返回设置/邮件/ Gmail并重新启用 联系人同步
  6. 瞧,您的Gmail联系人现在又回到了您的手机中 有1个本地联系人,可以访问本地联系人 除了Gmail联系人群组之外的群组。
  7. 希望有所帮助(我遇到了同样的问题,发现这种解决方法对我很有用)。

    本。