LinkSense
FeaturesPricingDocs
Sign InGet Started
LinkSense

Your links should open your app.

Product

  • Features
  • Pricing
  • Documentation
  • QR Code Generator

Compare

  • Firebase Dynamic Links
  • vs Dynalinks
  • vs LinkHopp
  • vs Branch

Company

  • About
  • Contact
  • Privacy
  • Terms
  • Refund Policy
  • Cookie Policy

Support

  • Help Center
  • Report abuse
LinkSense.net — Featured on Product HuntLinkSense.net — Featured on Product HuntLinkSense — Featured on Smol LaunchLinkSense — Featured on Smol LaunchLinkSense — Featured on FazierLinkSense — Featured on FazierLaunched onTiny StartupsLinkSense — As seen on Smashing Startups

© 2026 Informacijske storitve BACK2PIXELS, Jan Kokalj s.p. All rights reserved.

Getting Started

Introduction

Core Features

ProjectsDynamic LinksURL ShorteningSocial PreviewsLanding PagesAnalytics

Deep Linking

iOS Deep LinkingAndroid Deep LinkingTransactional EmailDeep Links in Email

Account & Billing

Plans & Billing

Migration

Firebase Migration

API Reference

API OverviewAPI Endpoints
DocsDeep LinkingiOS Deep Linking
Deep Linking

iOS Deep Linking

Set up Universal Links to open your iOS app directly from LinkSense dynamic links.

Overview

iOS Universal Links allow your dynamic links to open directly in your iOS app instead of the browser. When a user with your app installed taps a LinkSense dynamic link, iOS checks the Apple App Site Association (AASA) file and, if configured correctly, opens the link in your app.

LinkSense automatically hosts the AASA file for your project subdomain, so you only need to register your app and configure your Xcode project.

Prerequisites

Before setting up iOS deep linking, make sure you have:

  • An Apple Developer account with an active membership
  • Your app's Bundle Identifier (e.g., com.example.myapp)
  • Your Apple Team ID (found in the Apple Developer portal)
  • A LinkSense project with a subdomain

Registering Your iOS App

In the LinkSense dashboard, open your project's Apps tab and add an iOS app. Provide the following information:

  • App Name: a friendly name for the app
  • Bundle ID: your app's Bundle Identifier
  • Team ID: your Apple Developer Team ID
  • App Store ID: your app's App Store ID, found in App Store Connect under App Information (for fallback redirects)
Finding your Team ID

Your Team ID can be found in your Apple Developer Membership Details. It is a 10-character alphanumeric string (e.g., A1B2C3D4E5). For more on how Universal Links work, see Apple's guide on Supporting Universal Links in Your App.

Apple App Site Association (AASA)

LinkSense automatically generates and hosts the AASA file at the well-known path for your project subdomain. The file is served at:

https://your-subdomain.linksense.net/.well-known/apple-app-site-association

The generated AASA file follows this structure:

apple-app-site-association
json
{
"applinks": {
"apps": [],
"details": [
{
"appIDs": ["TEAM_ID.com.example.myapp"],
"paths": ["*"]
}
]
}
}
Automatic updates

The AASA file is automatically updated when you add or remove iOS apps from your project. No manual file hosting is required.

Configuring Your Xcode Project

To enable Universal Links in your iOS app, you need to add the Associated Domains capability in Xcode:

  1. Open your project in Xcode
  2. Select your app target and go to Signing & Capabilities
  3. Click + Capability and add Associated Domains
  4. Add an entry with your LinkSense subdomain

Your entitlements file should include:

Entitlements.plist
xml
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:your-subdomain.linksense.net</string>
</array>

Testing Universal Links

To test that Universal Links are working correctly:

  1. Install your app on a physical device (Universal Links do not work in the simulator)
  2. Open the Notes app or Messages and paste your dynamic link URL
  3. Tap the link: it should open directly in your app
  4. If the link opens in Safari instead, long-press it and check for an "Open in [App]" option
Common issues

Universal Links do not fire when you type or paste the URL into Safari's address bar. iOS treats that as a direct web navigation, not as opening a link.

They also do not fire on a server-side redirect. iOS matches the URL that was tapped against the AASA files it has cached — not the URL a 302 later lands on. If the tapped URL is on a domain that is not in your app's Associated Domains, no app is associated and the browser opens.

A tap that the system handles — Notes, Messages, a native app — works. A tap inside an in-app browser or webview often does not, because the webview resolves the navigation itself instead of handing it to the system.

Email breaks Universal Links in two ways

These are independent, and one link can hit both at once.

Webview mail clients. Gmail, Outlook and most mobile mail apps open links in an embedded browser. Universal Links do not fire there, even with a clean, untracked URL on your own subdomain.

ESP click tracking. SendGrid, Mailgun, Postmark, Customer.io and Resend rewrite the href to their own tracking domain before the message is sent. That domain appears in no AASA LinkSense serves, so iOS finds no associated app and opens a browser; the redirect that follows is a plain web navigation. A custom domain on your LinkSense project does not help — the rewrite happens before anyone taps.

Two fixes: turn off click tracking for the message or for the individual link (every major ESP supports this), or point your ESP at a tracking domain you control, host an AASA on it, and add it to your app's Associated Domains. Android App Links fail the same way, though some Android browsers are more forgiving about handing the URL back to the system.

Android Deep LinkingSet up App Links for Android deep linking.Dynamic LinksConfigure device-specific routing for your links.
PreviousAnalyticsNextAndroid Deep Linking

On this page

OverviewPrerequisitesRegistering Your iOS AppApple App Site AssociationConfiguring Your Xcode ProjectTesting Universal Links