Имам странен проблем, когато регистрирам приложението си за iOS, за да слушам промените в адресната книга на телефона. Правилният метод се извиква, когато нещо се промени в адресната книга, но се извиква 2 - 6 пъти.
Когато обектът бъде създаден (единичен, така че само един обект), се регистрирам за известия с този код:
ABAddressBookRegisterExternalChangeCallback(notificationAddressBook, addressBookChanged, (__bridge_retained void *)self);
Извиканият метод изглежда така:
void addressBookChanged(ABAddressBookRef ab, CFDictionaryRef info, void *context){
ABAddressBookRevert(ab);
NSLog(@"ADDRESSBOOK CHANGED");
[phoneBookCopy updateCopy];
}
Някакви идеи как да се реши това?