Wykryj, co zostało zmienione z ABAddressBookRegisterExternalChangeCallback

Używam ABAddressBookRegisterExternalChangeCallback, aby uzyskać zewnętrzne zmiany w książce adresowej książki użytkownika. Używam następującego kodu do zarejestrowania wywołania zwrotnego:

ABAddressBookRef ntificationaddressbook = ABAddressBookCreate();
ABAddressBookRegisterExternalChangeCallback(ntificationaddressbook, MyAddressBookExternalChangeCallback, self);

a gdy wywołanie to zostanie wywołane, wywołanie MyAddressBookExternalChangeCallback zostanie pomyślnie wywołane

void MyAddressBookExternalChangeCallback (ABAddressBookRef ntificationaddressbook,CFDictionaryRef info,void *context)
{
 NSLog(@"Changed Detected......");
}

Mam następujące pytania:

Jak mogę wykryć, które kontakty zostały zmienione i jakie działania(ADD, Update, Delete) został wykonany na tym kontakcie. Muszę uzyskać rekord ID tego kontaktu. Czy to możliwe ?

Niestety, jeśli to nie jest możliwe, to w jaki sposób aplikacje takie jak viber, tango, watsapp otrzymują informacje o zmianie?

Metoda wywołania zwrotnego jest wywoływana tylko wtedy, gdy aplikacja jest w tle, jeśli aplikacja jest zakończona, istnieje sposób na otrzymanie powiadomienia o zmianach.

Proszę pomóż. Z góry dziękuję.

questionAnswers(4)

yourAnswerToTheQuestion