Данные истории изменений iOS Contacts Framework с использованием Swift и Xcode 13
В Apple по документациикаркасу контактов для iOS и Swift на их веб-сайте разработчика есть раздел «Данные истории изменений».
Он состоит из списка классов и одного протокола. Протокол кажется самым важным элементом списка - протокол CNChangeHistoryEventVisitor. В протоколе явно есть методы экземпляра, каждый из которых использует один из перечисленных классов.
Как мне их использовать?
Я нашел этот пост в stackoverflow. Что такое класс фреймворка «Контакты», связанный с историей, в iOS 13?, но у него ограниченная информация, его нет в Swift, и он старый.
Я попытался преобразовать код в ответе на упомянутый мною пост из Objective-C в Swift и дошел до пятой строки, не считая пробелов. В коде используется перечислитель CNContactStoreForChangeHistoryFetchRequest, который недоступен в версии CNContactStore для Swift.
Вот список:
class CNChangeHistoryAddContactEvent
class CNChangeHistoryAddGroupEvent
class CNChangeHistoryAddMemberToGroupEvent
class CNChangeHistoryAddSubgroupToGroupEvent
class CNChangeHistoryDeleteContactEvent
class CNChangeHistoryDeleteGroupEvent
class CNChangeHistoryDropEverythingEvent
class CNChangeHistoryEvent
class CNChangeHistoryFetchRequest
class CNChangeHistoryRemoveMemberFromGroupEvent
class CNChangeHistoryRemoveSubgroupFromGroupEvent
class CNChangeHistoryUpdateContactEvent
class CNChangeHistoryUpdateGroupEvent
protocol CNChangeHistoryEventVisitor