DEV Community

Cover image for Deep Dive into apple-app-site-association file: Enhancing Deep Linking on iOS
Denner Parreiras
Denner Parreiras

Posted on

Deep Dive into apple-app-site-association file: Enhancing Deep Linking on iOS

In the previous article, "Understanding Digital Asset Links File: A Key to Efficient and Secure Deep Linking", we explored how Digital Asset Links establish a connection between websites and Android apps for deep linking. Now, let's delve deeper into Apple's equivalent --- the apple-app-site-association file - and how it significantly enhances deep linking experience on iOS devices.

The Inception of apple-app-site-association

Introduced in iOS 9, Universal Links brought a paradigm shift in handling deep links in iOS. This feature allows URLs to open directly in a corresponding native app, bypassing the Safari browser, providing a seamless user experience. The backbone of Universal Links is the apple-app-site-association file, which is fundamental in verifying that a link should be opened in an app instead of Safari.

Crafting the apple-app-site-association File: A Step-by-Step Guide

1. Creating the File

The apple-app-site-association is a JSON file that needs no signature, unlike its predecessor. This file should be created at the root of your HTTPS web server, ideally placed in the /.well-known/ directory.

2. Structuring the File

A typical apple-app-site-association file looks like this:

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "9JA89QQLNQ.com.example.app",
        "paths": [ "/path/to/content", "/path/*", "NOT /path/to/exclude" ]
      }
    ]
  }
}
Enter fullscreen mode Exit fullscreen mode
  • appID: Your team ID from Apple Developer account combined with your app's bundle ID.
  • paths: Specifies which paths in your website should open the app. It supports simple wildcards and exclusions.

3. Hosting Requirements

Ensure your server supports HTTPS. The apple-app-site-association file must be accessible via an HTTPS URL and must not redirect to another location.

4. Updating Your iOS App

In your Xcode project, enable Associated Domains and add the domain links you wish to associate with your app, prefixed with applinks:.

How Does This Enhance Deep Linking on iOS?

The apple-app-site-association file plays a critical role in:

  • Security: By confirming that the domain and app association is verified, it prevents unauthorized apps from intercepting your URLs.
  • User Experience: Universal Links provide a more integrated experience. Users are taken directly to the content in the app, rather than Safari, enhancing usability.
  • Consistency: Universal Links work uniformly across all iOS devices, ensuring a consistent behavior.

Conclusion

The implementation of apple-app-site-association for Universal Links in iOS is a significant step towards a more integrated mobile experience. It streamlines the process of opening web content directly in apps, enhancing both security and user experience. As we continue to see evolution in mobile app technologies, tools like these will become increasingly important in bridging the gap between web and mobile applications.

Top comments (0)