Podano wiele pytań dotyczących SO związanych ze słuchaniem wywołania zwrotnego zmiany książki adresowej na iOS. Znane pytanie Address book sync.Uzyskaj usunięty kontakt za pomocą ABAddressBookRegisterExternalChangeCallback lub innego powiadomienia
Ale moje pytanie jest wąskie, tzn. Jak możemy uzyskać, które kontakty zostały usunięte podczas wywołania zwrotnego synchronizacji książki adresowej.
void MyAddressBookExternalChangeCallback (ABAddressBookRef ntificationaddressbook,CFDictionaryRef info,void *context)
{
NSLog(@"Changed Detected......");
/*
NSDate *lastSyncTime = [self gettingLastSyncTime];
// By above time, I could get which contacts are modified(kABPersonModificationDateProperty)
// and which contacts are created newly(ABRecordGetRecordID()
// But how can I get this contact was DELETED?
*/
}
Ale ktoś wyczyścił ten problem w Detect what was changed..... W tym celu: (a) Przechowywanie wszystkich identyfikatorów rekordów za pierwszym razem (b) Podczas synchronizacji, sprawdź wszystkie zapisane identyfikatory rekordów z bieżącymi identyfikatorami książki adresowej, aby sprawdzić, czy są one dostępne. Jeśli nie, to załóż, że ma zostać usunięty kontakt (kosztowna operacja).
Moje pytanie: Czy istnieje inny sposób wykrycia skasowanego kontaktu?
+1 za Twoje rzeczy. Ale już wspomniałem o linku, który jest taki sam jak twoja odpowiedź. Ale szukam lepszej odpowiedzi. – Mani