development

Universal Links

Apple's system for associating HTTPS URLs with an iOS app so that tapping a link opens the app directly instead of Safari, with web fallback when the app is not installed.

Universal Links are Apple’s verified deep linking mechanism. They use standard HTTPS URLs from your own domain and are verified through the apple-app-site-association (AASA) file hosted at your domain’s .well-known directory.

When a user taps a Universal Link on iOS:

  1. iOS checks whether any installed app has claimed that URL through the Associated Domains entitlement
  2. If a matching app is installed, iOS opens the app and passes the URL to it
  3. If no matching app is installed, iOS opens the URL in Safari as a normal web page

This provides a seamless experience: app users go directly to the app, and non-app users land on your website.

Custom URL schemes (yourapp://path) were the original deep linking approach on iOS. Universal Links are superior because they use real HTTPS URLs, provide a web fallback, cannot be hijacked by other apps, and work with App Clips and handoff.

Requirements

  • An AASA file hosted at https://yourdomain.com/.well-known/apple-app-site-association
  • The Associated Domains entitlement configured in your app target
  • HTTPS with a valid SSL certificate (no self-signed certificates)
  • The AASA file must be served without redirects

Role in App Clips

App Clips rely on Universal Links for invocation. When a user scans a QR code or taps an NFC tag, the encoded URL is a Universal Link that iOS matches to your App Clip’s registered URL patterns. Domain verification through the AASA file is what makes this connection possible.