¿Cómo se actualizan Whatsapp los contactos de la libreta de direcciones más rápidamente en iOS?

Mis hallazgos

Estoy diseñando una lógica para sincronizar el contacto con mi Backend. Pasé por algunas aplicaciones que hacen lo mismo en IOS. Tomaré el ejemplo de WhatsApp, encontré que cuando actualizo cualquier contacto en Native Addressbook, refleja ese cambio en Whatsapp con una fracción.

Mi preocupación

Solo quiero saber que es la synchronization de una manera muy rápida. Incluso un nuevo contacto se sincroniza con su server remoto y se muestra en contacto, y con la capacidad de iniciar chat de Whatsapp si ese número se registra uno.

Resumen de consultas

Entonces, en pocas palabras mis preguntas son,

  1. ¿Cómo sincroniza Whatsapp con el contacto?
  2. ¿Cómo se obtiene Whatsapp la list de contactos actualizada de Native Addressbook (si lo está haciendo)?
  3. ¿Cómo se acaba de conseguir WhatsApp nuevo? ¿Contacto añadido en la libreta de direcciones? ¿Hay algo que gestione como timestamp o cualquier otra cosa?

Sé que las siguientes cosas están ahí,

ABAddressBookGetPersonCount ABAddressBookGetPersonWithRecordID ABAddressBookCopyArrayOfAllPeople 

Usando ABAddressBookGetPersonCount puedo saber si hay nuevos contactos, pero aún así podré saber su ID de logging sin repetir cada contacto usando ABAddressBookCopyArrayOfAllPeople

Así que solo estoy preguntando por la forma de get una list actualizada.

La forma de hacerlo es registrando una callback de cambio externo . De esta forma, su aplicación será notificada de cualquier cambio en la libreta de direcciones tan pronto como ocurra.