我的发现
我正在设计一个逻辑来与我的后端同步联系人。我浏览了一些在 IOS 中做同样事情的应用程序。我将以 WhatsApp 为例,我发现当我更新 Native Addressbook 中的任何联系人时,它会以一小部分反射(reflect)到 Whatsapp 中。
我的问题
我只想知道它是如何以更快的方式同步的。即使是新联系人也会与其远程服务器同步并显示在联系人上,并且如果该号码已注册,则能够发起 Whatsapp 聊天。
查询摘要
所以,简而言之,我的问题是,
- Whatsapp 如何同步联系人?
- whatsapp 如何从 native 地址簿获取刚刚更新的联系人列表(如果它正在这样做)?
- whatsapp 如何将新联系人添加到地址簿中,是否有时间戳或其他管理方式?
我知道下面的东西是这样的,
ABAddressBookGetPersonCount
ABAddressBookGetPersonWithRecordID
ABAddressBookCopyArrayOfAllPeople
使用 ABAddressBookGetPersonCount
我可以知道是否有任何新的联系人,但我仍然如何知道它的记录 ID 而无需使用 ABAddressBookCopyArrayOfAllPeople
迭代每个联系人
所以我只是在询问如何获取刚刚更新的列表。
最佳答案
执行此操作的方法是 registering an external change callback .这样,您的应用会在地址簿发生任何更改时立即收到通知。
关于ios - whatsapp 如何在 iOS 中更快地从通讯录中获取更新的联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31759863/