iOS SDK Limited Contact Permission
Overview
In iOS 18, Apple changed how apps can gain access to user contacts. App users can now choose to give an app permission to access a just a partial subset of their contacts.
Now, when a user is prompted to grant contacts permissions, they will always see an option to choose “some contacts” alongside the full access option.
There is a new enum case in CNAuthorizationStatus
called limited
reflecting this choice. https://developer.apple.com/documentation/contacts/cnauthorizationstatus/limited
ENGAGE SDK Impact
ENGAGE SDK version 4.1.0 has been updated to handle this new enum case limited
. Since this case still allows apps to create contacts (and delete those created contacts later), ENGAGE SDK will treat this case as a valid permission and will operate normally with one exception - contact clash detection.
With limited
access, the SDK cannot be sure that the user does not already have a contact with the same aNumber as the new ENGAGE contact.
If limited
access is detected, the SDK will not try to detect contact clashes, and will create the contact without this pre-logic.
If a contact clash results, and a phone call is received from that aNumber, the caller ID display behavior can vary. It will likely look like " or 1 other", where will be either the ENGAGE contact or the user's existing contact.
Contact clashes will not affect the existing contact clean process. The SDK can remove the contact without issue.
Updated 14 days ago