How to Test Deep Links on iOS: Complete Guide 2026

Learn 10 proven methods to test iOS deep links and Universal Links. Covers Safari testing, AASA validation, physical devices, and deferred deep link testing.


How to Test Deep Links on iOS: Complete Guide 2026

Testing deep links on iOS is critical before launching your app or marketing campaign. A broken deep link can cost you users, conversions, and credibility. Here's how to test iOS deep links efficiently using multiple methods.

The most straightforward way to test iOS Universal Links is through Safari:

  • Paste your deep link URL directly into Safari's address bar

  • Tap "Go" to navigate to the link

  • If configured correctly, iOS will prompt you to open the app or automatically launch it

  • Important: Long-pressing a link will NOT trigger Universal Links. You must tap normally or type the URL in the address bar

Common pitfall: Clicking links from Notes app or other Apple apps may not work. Always test from Safari or third-party apps like Messages, Mail, or Slack.

2. Testing with Apple's AASA Validator

Before device testing, verify your Apple App Site Association (AASA) file:

  • Visit Apple's AASA Validator Tool

  • Enter your domain name

  • Confirm the validator can access and parse your apple-app-site-association file

  • Check that your app IDs and paths are correctly configured

This catches configuration errors before wasting time on device testing.

3. Command Line Testing with Terminal

For developers who prefer command-line tools, use curl to verify your AASA file is accessible:

curl -v https://yourdomain.com/.well-known/apple-app-site-association

or

curl -v https://yourdomain.com/apple-app-site-association

Check that:

  • The HTTP response is 200 (not 301/302 redirect)

  • Content-Type is application/json or application/pkcs7-mime

  • The file returns valid JSON without errors

You can also open the url in a browser to test if everything looks good

4. Testing with Xcode and Simulator

While iOS Simulator has limitations, you can still test basic deep linking logic:

  • Open Terminal and use xcrun simctl openurl booted "your-deep-link-url"

  • This launches your app if the URL scheme is registered

  • Note: Universal Links don't work reliably in Simulator. Use physical devices for production testing

5. Physical Device Testing (Most Reliable)

Always test on real iOS devices before going live:

  1. Fresh install: Delete the app, reinstall from TestFlight or App Store

  2. Clear cache: After installation, wait 10-15 seconds for iOS to download the AASA file

  3. Test in airplane mode: Once AASA is cached, test offline to ensure proper behavior

  4. Test across iOS versions: Behavior can differ between iOS 14, 15, 16, and 17+

  5. Test app-not-installed scenario: Uninstall your app and click the link to verify fallback behavior

Deferred deep links require additional testing because they preserve context after app installation:

  • Uninstall your app completely

  • Click your deep link (user should be redirected to App Store)

  • Install the app from App Store

  • Launch the app for the first time

  • Verify the app navigates to the correct content screen based on the original link

This tests the full user journey for new users. Learn more about implementing deferred deep links in our iOS deferred deep linking guide.

7. Testing with Third-Party Messaging Apps

Real-world users click links from various sources. Test your deep links in:

  • WhatsApp, Telegram, Signal

  • iMessage and SMS

  • Email clients (Gmail, Outlook, Apple Mail)

  • Social media apps (Instagram, Facebook, Twitter/X)

  • Slack and other workplace tools

Some apps have in-app browsers that affect Universal Link behavior.

8. Testing Analytics and Attribution

Don't just test if the link opens verify that your analytics capture the event:

  • Click your deep link and check if analytics platforms register the click

  • Confirm device type, OS version, and location data are tracked

  • Verify conversion tracking if the link leads to a purchase or signup

Smler's link-level analytics provides real-time visibility into geographic location, device type, browser, and performance metrics.

If your Universal Links aren't working, check these common issues:

  • AASA file not accessible: Must be served over HTTPS without redirects

  • Missing entitlements: Verify com.apple.developer.associated-domains in Xcode

  • Incorrect domain format: Use applinks:yourdomain.com not https://yourdomain.com

  • CDN caching: iOS caches AASA files; changes may take hours to propagate

  • Cross-domain redirects: Universal Links break if your link redirects to a different domain

10. Automated Testing with XCUITest

For continuous integration, automate deep link testing with XCUITest:

func testDeepLink() { let safari = XCUIApplication(bundleIdentifier: "com.apple.mobilesafari") safari.launch() // Navigate to deep link URL // Assert app launches and navigates correctly }

This ensures regression testing as your app evolves.

  • Test early and often: Don't wait until launch week to test deep links

  • Document test cases: Create a checklist covering all link types and scenarios

  • Test edge cases: What happens with malformed URLs or missing parameters?

  • Monitor post-launch: Use analytics to identify broken links in production

  • Version compatibility: Test on the oldest iOS version you support

Deep Linking Made Affordable with Smler

Testing is only half the battle you need a reliable deep linking infrastructure that doesn't break the bank. Smler offers the most affordable deep linking solution on the market:

  • 15,000 free links per month to get started without any commitment

  • $5 for 100,000 links industry-leading pricing that's 10x cheaper than competitors

  • Full support for iOS Universal Links and Android App Links

  • Built-in deferred deep linking with automatic fallback handling

  • Real-time analytics to track every click, device, and conversion

  • Custom branded domains for maximum trust and click-through rates

Whether you're a startup testing your first deep link or an enterprise managing millions of clicks, Smler scales with your needs. Check out our pricing plans and start testing your deep links today with our generous free tier.

For a complete implementation guide, visit our deep linking documentation or learn how to generate deferred deep links in Smler.

Published with LeafPad