Does unifiedContacts(matching:keysToFetch:) return only unified contacts and leave out non-unified contacts?

When I use the Contacts Framework with Swift for iOS 15 using Xcode 13, when I use CNContactStore instance method unifiedContacts(matching:keysToFetch:), what happens to those CNContact objects that are not linked with any other CNContact objects, would they be returned as non-unified contacts, or would they be left out since they are non-unified contacts?

Answered by Claude31 in 694923022

Doc for unifiedContacts(matching:keysToFetch:)says:

Fetches all unified contacts matching the specified predicate.

So I understand that non-unified contacts are not fetched.

The sample iOS Swift project ManagingContacts found in Apple's Documentation Archive, uses both enumerateContacts(with:usingBlock:) and unifiedContact(withIdentifier:keysToFetch:). Understanding why they choose to use each when they do may help answer the question.

The name "unifiedContacts" suggests it only fetches unified contacts, and does not fetch non-unified contacts that otherwise would meet the specified criteria, but it doesn't make sense to me why there would ever be a need for it or why it is used in the said project when it is used.

Accepted Answer

Doc for unifiedContacts(matching:keysToFetch:)says:

Fetches all unified contacts matching the specified predicate.

So I understand that non-unified contacts are not fetched.

Does unifiedContacts(matching:keysToFetch:) return only unified contacts and leave out non-unified contacts?
 
 
Q