Sincronización de ABAddressbook-Entradas

Tengo una aplicación de iPad que sincroniza el contacto con los contactos del lado del server.

¿Cómo detecto solo las inputs ABAdressbook que han cambiado? Es posible que ocurran cambios en el lado del server, en mi aplicación o externamente en el ipad.

Cuando uso

void ABAddressBookRegisterExternalChangeCallback ( ABAddressBookRef addressBook, ABExternalChangeCallback callback, void *context ); 

Recibo la callback de los cambios externos, pero sin ninguna información sobre lo que cambió. ¿Cómo obtengo esa información?

Cuando uso el NSString * const kABModificationDateProperty , no sé con qué comparar.

No lo sé, si tienes una solución para eso. De lo contrario, probablemente esto lo ayudará a:

 NSArray *allPeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(yourAddressBook); for (int i = 0; i < allPeople.count; i++) { ABRecordRef *person = (ABAddressBookRef *)[allPeople abjectAtIndex:i]; NSDate *lastModiDate = (NSDate*)ABRecordCopyValue(person, kABPersonModificationDateProperty); NSLog(@"Last modification date: %@ of entry: %@", lastModiDate, person); } 

Deberá comparar todos los campos entre el server y el libro local para cada persona que desee sincronizar.