Question About iOS Link Association Behavior and How to Reset App-Link Preferences

Hello,

I would like to clarify how link association and app-opening preferences work in iOS, specifically when a user opens a URL in a browser that can be handled by an installed application.

I have noticed the following behavior:

When a user taps a URL that can be opened by an app, iOS sometimes asks whether to open the link in the app or continue in the browser.

After choosing an option once (for example, "Open in App" or "Stay in Browser"), it seems that this preference becomes persistent.

Even after deleting the application and reinstalling it, the browser (Safari or third-party browsers) sometimes continues to open the link directly in the browser without asking the user again.

In some cases, it appears impossible to reset or clear this association, and the user is not prompted again to choose how the link should be opened.

My questions are:

How exactly does iOS store link-handling preferences between apps and browsers?

Are these preferences saved on the system level, inside Safari, or associated with the app installation itself?

Is there a way for a user to manually reset or clear these link-opening associations?

Should deleting and reinstalling the app reset these preferences, or is the behavior expected to persist?

Is this behavior different for Universal Links, App Clips, or for regular URL scheme associations?

This situation is important for us because it affects user experience, and at the moment it is difficult to understand or reproduce the internal logic behind these link associations.

Thank you in advance for your clarification.

Thank you for your post. So many questions that I’ll try to answer.

iOS carefully manages link-handling preferences to strike a balance between user convenience and security. Here is an overview that may be helpful in addressing your questions.

iOS stores link-handling preferences globally, associating domains with either applications or Safari through Universal Links. When Universal Links are utilized, iOS verifies permission by checking a specially configured file (apple-app-site-association) hosted on the associated domain. Uninstalling an application does not reset link-handling preferences, as iOS retains the domain association in its system-level storage. The association persists until manually overridden by the user or cleared through advanced methods (e.g., resetting all settings). In some instances, long-pressing a link in Safari allows the user to select “Open in App” temporarily, overriding the previous setting.

Once a user selects “Open in App” or “Open in Browser,” iOS retains this choice for that domain. Users may find it challenging to revert preferences, leading to frustration if links consistently open in the incorrect context. Confusion arises when reinstalling an application does not restore prior behavior due to persistent system-level associations.

Therefore, it is crucial to provide clear in-app instructions for users to manually reset preferences if necessary. Test Universal Link behavior across devices, particularly after reinstalls or domain configuration changes.

Please let me know if you have any further questions. As always, I recommend reading the Tech Note. TN3155: Debugging universal links | Apple Developer Documentation

Albert Pascual
  Worldwide Developer Relations.

I appreciate your previous answer. Could you please clarify what exactly is meant by “manually reset preferences” in this context?

Which settings and user data are expected to be reset?

Are there any settings that should explicitly not be affected? (e.g. login state, account data, personalization data etc.)

What should the expected user experience be after a full reset? For example, should the app return to default configuration/factory settings?

Should we display warnings or confirmation dialogs before performing the reset? If so, what exactly should the user be informed about (data loss, required reconfiguration, etc.)?

Question About iOS Link Association Behavior and How to Reset App-Link Preferences
 
 
Q