Platforms to show: All Mac Windows Linux Cross-Platform

CNContactStoreMBS class

Type Topic Plugin Version macOS Windows Linux iOS Targets
class Contacts MBS Mac64bit Plugin 16.3 ✅ Yes ❌ No ❌ No ✅ Yes Desktop & iOS
Function: The CNContactStore class is a thread-safe class that can fetch and save contacts, groups, and containers.
The CNContactStore class provides ways to execute fetch and save requests. There are a few recommended ways you can implement these requests in your app to load contacts:

  • Fetch only the contact properties that will be used.
  • When fetching all contacts and caching the results, first fetch all contacts identifiers, then fetch batches of detailed contacts by identifiers as required.
  • To aggregate several contacts fetches, first collect a set of unique identifiers from the fetches. Then fetch batches of detailed contacts by those unique identifiers.
  • If you cache the fetched contacts, groups, or containers, you need to refetch these objects (and release the old cached objects) when CNContactStoreDidChangeNotification is posted.

Because CNContactStore fetch methods perform I/O, it’s recommended that you avoid using the main thread to execute fetches.

Your app must be code signed to see contacts.

Warning: Do not use in macOS 10.11 or earlier due to bugs, which have been fixed in macOS 10.12.

Contact Types

Constant Value Description
CNEntityTypeContacts 0 Contacts

Error Codes

Constant Value Description
CNErrorCodeAuthorizationDenied 100 Authentication denied error.
CNErrorCodeCommunicationError 1 Communication error.
CNErrorCodeContainmentCycle 202 Code containment cycle error.
CNErrorCodeContainmentScope 203 Code containment scope error.
CNErrorCodeDataAccessError 2 Data access error.
CNErrorCodeInsertedRecordAlreadyExists 201 Record already exists.
CNErrorCodeParentRecordDoesNotExist 204 The contact does not exist error.
CNErrorCodePolicyViolation 500 Policy validation error.
CNErrorCodePredicateInvalid 400 Invalid predicate error.
CNErrorCodeRecordDoesNotExist 200 Record not found.
CNErrorCodeRecordIdentifierInvalid 205 Record identifier not valid.
CNErrorCodeValidationConfigurationError 302 Configuration validation error.
CNErrorCodeValidationMultipleErrors 300 Multiple validation error.
CNErrorCodeValidationTypeMismatch 301 Type mismatch validation error.

This class has no sub classes.

Some examples using this class:

Blog Entries

The items on this page are in the following plugins: MBS Mac64bit Plugin.

CNContactRelationMBS   -   CNContactsUserDefaultsMBS

Feedback: Report problem or ask question.

The biggest plugin in space...

Start Chat