iOS Contacts Framework Change History Data using Swift and Xcode 13

On Apple's documentation of the Contacts Framework for iOS and Swift on their developer website, there is a section called Change History Data.

It consists of a list of classes and one protocol. The protocol seems to be the most important item of the list - the CNChangeHistoryEventVisitor protocol. The protocol apparently has instance methods each of which use one of those classes listed.

Where do I find documentation to use this protocol and these classes?

Anyone ever use these before?

Here's the list:

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

There is a similar question on SO, with a different signature. Is it the same ? Did you ask the question to Apple Support ?

Here is my identical post on stackoverflow: iOS Contacts Framework Change History Data using Swift and Xcode 13. I just updated that post with what code I've tried to make.

There is a post on stackoverflow similar to this, that had an answer with a code sample in Objective-C that effectively used CNFetchResult with CNContactStore enumeratorForChangeHistoryFetchRequest, but that function is only available for Objective-C.

I just now sent a question to Apple Developer Support.

I found somewhere someone saying they went to a WWDC and asked about this to someone from Apple and the person from Apple told him Apple will be supplying documentation in the future. I don't know how long ago that story happened.

Do you know why there isn't current documentation on this?

There is a current bug that causes the currentHistoryToken property to be nil in Swift. As such, use Objective-C to fetch change history data in your app.

iOS Contacts Framework Change History Data using Swift and Xcode 13
 
 
Q