ABAddressBookRegisterExternalChangeCallback вызывался несколько раз

У меня странная проблема, когда я регистрирую свое приложение iOS-для прослушивания изменений в адресной книге телефона.. Правильный метод вызывается, когда что-то меняется в адресной книге, но вызывается 2 -6 раз.

Когда объект создается (singleton, то есть только один объект), я регистрируюсь для получения уведомлений с помощью этого кода:

ABAddressBookRegisterExternalChangeCallback(notificationAddressBook, addressBookChanged, (__bridge_retained  void *)self);

Вызываемый метод выглядит так:

void addressBookChanged(ABAddressBookRef ab, CFDictionaryRef info, void *context){
ABAddressBookRevert(ab);

    NSLog(@"ADDRESSBOOK CHANGED");
    [phoneBookCopy updateCopy];
}

Есть идеи, как решить эту проблему?

9
задан joakimb 10 April 2012 в 21:07
поделиться