Launch offer: the first 1,000 users get Business free. Claim your spot →
All posts
Deep linkingBy the directinapp team7 min read

Why your deep links fail on iOS (and how to actually fix them)

Your link opens the app on Android and does nothing on iPhone. It's almost never random — iOS fails deep links in a handful of specific, fixable ways. Here's the checklist.

A person tapping the screen of a smartphone
Photo by Rob Hampson on Unsplash

Deep links fail on iOS for a short list of reasons: a custom scheme (myapp://) triggered from inside another app's webview, a broken or missing apple-app-site-association file, no web fallback when the app isn't installed, or the link being tapped somewhere iOS won't hand off to the app. Fixing it usually means switching to a properly-verified Universal Link and always having an https fallback.


It's a classic bug report: the link opens the app on Android but not on my iPhone. Frustrating — but iOS is actually predictable here. It fails deep links in a few specific ways, and each has a fix. Run down the list.

1. You’re using a custom scheme from inside another app

The number-one cause. iOS will not reliably honor a custom myapp:// scheme when it's triggered from inside another app's in-app browser — Instagram, TikTok, Gmail, and friends. The webview swallows it. Fix: don't depend on custom schemes for public links; use a Universal Link, which iOS treats as a real web address.

2. Your apple-app-site-association file is wrong

Universal Links live or die by this file. Common mistakes: it's not served over https, it's behind a redirect, it has the wrong content-type, the app ID or path patterns don't match, or it's simply not where iOS looks (root or /.well-known/). Any of these and iOS silently loads Safari. Fix: validate the file byte-for-byte and confirm iOS actually fetched it.

3. There’s no fallback when the app isn’t installed

A custom scheme aimed at a phone without the app resolves to nothing — blank screen, no error, no store. Fix: use https (Universal Links fall back to the page for free) or route through something that detects no app and sends people to the App Store.

4. The link changed after install

iOS caches the apple-app-site-association at install time. Update your paths and existing installs may not pick them up right away. Fix: expect propagation delay and test on a fresh install.

5. You’re testing it wrong

Universal Links don't fire from the Safari address bar — typing or pasting the URL deliberately bypasses the app — and they can behave differently on the very first tap. Fix: test by tapping a real link from Notes or Messages, not by pasting into Safari.

The pragmatic fix

For an app you own, move to Universal Links + a verified file + an https fallback and most of this disappears. For links to apps you don't own — the Instagram/YouTube/store case — you can't fix their association files; a router like directinapp applies the right iOS handoff and web fallback per destination, in-app-browser cases included, without an SDK.

Found this useful? Tell Google to show you more of it.

Add us as a preferred source

Related guides

Put this into practice

Create smart short links that open the right app, with analytics built in. No credit card required.

Start free