Наблюдение за изменениями контактов - PullRequest
0 голосов
/ 25 мая 2018

Привет! Я пытался наблюдать за изменениями в списке контактов.В контроллере View я установил уведомление для получения события для изменения контактов.

class TestChangeContatct: UIViewController{

    @IBOutlet var textLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        NotificationCenter.default.addObserver(
            self,
            selector: #selector(addressBookDidChange),
            name: NSNotification.Name.CNContactStoreDidChange,
            object: nil)
    }

    @objc func addressBookDidChange(notification: NSNotification){
        print("notification: \(notification)")
    }

}

Но addressBookDidChange никогда не вызывается, кто-нибудь знает почему?Из Apple:

Уведомления об изменениях контактов После успешного выполнения сохранения хранилище контактов отправляет уведомление CNContactStoreDidChange в центр уведомлений по умолчанию.Если вы кэшируете какие-либо объекты каркаса контактов, вам необходимо повторно получить эти объекты либо по их идентификаторам, либо по предикатам, которые использовались для их первоначального извлечения, а затем освободить кэшированные объекты.Обратите внимание, что кэшированные объекты устарели, но не являются недействительными.

https://developer.apple.com/documentation/contacts

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...