Дата последнего изменения CNContact и измененные контакты

Вопросы:

  1. Как получить дату последнего изменения в CNContact (новая структура контактов Apple)?
    Дата последнего изменения отсутствует в списке keysToFetch

  2. Я хочу получить и обновить контакты, которые были изменены с момента моей последней выборки. Как я могу это сделать ?


person user1046037    schedule 18.10.2015    source источник


Ответы (2)


Согласно ответу сотрудников Apple, сейчас для этого нет API. https://forums.developer.apple.com/thread/16049

Чтобы выполнить почти то же самое, я бы предложил использовать

enumerateContactsWithFetchRequest:error:usingBlock:

Предполагая, что отдельный контакт идентифицируется по имени, когда поле имени остается прежним, но другая информация изменяется, мы можем сказать, что контакт обновлен. Если вы беспокоитесь о производительности, сделайте это в фоновой очереди.

Надеюсь, это поможет.

person MatthewLuiHK    schedule 30.10.2015
comment
На самом деле вы хотите идентифицировать контакт по идентификатору, а не по имени ... имена контактов могут меняться и все такое. - person user435779; 04.12.2015
comment
Поэтому я использую Предположение, когда нельзя обещать, что ни одно из информационных полей пользователя не будет вечно оставаться неизменным. Какое поле (или поля) использовать для идентификации пользователя — это ваше решение в соответствии с требованиями вашей системы. - person MatthewLuiHK; 04.12.2015

Я проверил инфраструктуру CNContact для iOS 12, но не могу найти такой API, как kABPersonModificationDateProperty.

https://developer.apple.com/documentation/contacts/cncontact?language=objc

person dobiho    schedule 23.09.2018