11

我的发现

我正在设计一个逻辑来与我的后端同步联系人。我浏览了一些在 IOS 中做同样事情的应用程序。我将以 WhatsApp 为例,我发现当我更新 Native Addressbook 中的任何联系人时,它会将该更改反映到 Whatsapp 中的一小部分。

我的顾虑

我只想知道它是如何以更快的方式同步的。即使是新联系人也会与其远程服务器同步并显示在联系人上,并且如果该号码已注册,则可以启动 Whatsapp 聊天。

查询摘要

所以,简而言之,我的疑问是,

  1. Whatsapp 如何同步联系人?
  2. whatsapp 如何从 Native Addressbook 获取刚刚更新的联系人列表(如果这样做的话)?
  3. whatsapp 如何刚刚在地址簿中添加了新的联系人,有没有像时间戳或其他任何东西这样管理的东西?

我知道下面的东西是这样的,

ABAddressBookGetPersonCount
ABAddressBookGetPersonWithRecordID
ABAddressBookCopyArrayOfAllPeople

使用ABAddressBookGetPersonCount我可以知道是否有任何新联系人,但我仍然可以在不使用迭代每个联系人的情况下知道其记录 IDABAddressBookCopyArrayOfAllPeople

所以我只是在询问获取刚刚更新列表的方法。

4

1 回答 1

3

这样做的方法是注册一个外部更改回调。这样,您的应用程序将在地址簿发生任何更改时立即收到通知。

于 2015-08-01T13:31:41.283 回答