Request .full contacts authorization after being granted .limited

We're adjusting to the new iOS 18 .limited contacts access mode.

In our app, we don't request contacts right away. We have a search bar where users can search through their own contacts and select one using the ContactAccessButton. If they do select one, then they're prompted to "Grant Limited Access", not "Grant Full Access", as the screenshot shows below.

Later on, we want to offer the ability for users to sync their entire contact book with our app. This will improve their experience on the app by automatically finding all their friends already on the app, without them having to do the manual work of clicking on every single contact in the ContactsAccessPicker.

Is this possible right now?

It doesn't seem like it—when I call ContactsStore.requestAccess(for: .contacts) while in .limited access mode, nothing happens. But I would like to show a prompt that gives the user the ability to grant all their contacts to improve their experience.

Request .full contacts authorization after being granted .limited

After granting .limited access to your app, the user needs to navigate to Settings on their device to change your app permission access to .authorized.

when I call ContactsStore.requestAccess(for: .contacts) while in .limited access mode, nothing happens

That is the expected behavior.

Later on, we want to offer the ability for users to sync their entire contact book with our app.

See the Contact Provider extension for more information.

Request .full contacts authorization after being granted .limited
 
 
Q