Search code examples
swiftios-universal-links

Universal link configurations issue


I'm dealing with universal link issue for the past few days and I can't understand why it's not working.

sorry can't show the domain, so I show it as myDomain.nl

we uploaded the apple-app-site-association

https://myDomain.nl/.well-known/apple-app-site-association

and here are the contents

{
  "applinks": {
    "apps": [],
    "details": [
    {
      "appID": "5LKNOW4KJS.app.appname.com",  // teamID.app bundle identifier 
      "paths": ["*"]
    }
    ]
  }
}

And in the Xcode in the Associated Domains I added

applinks:myDomain.nl

The issue is simple, it will not open the app when myDomain.nl run on safari

I also tried to search for swdc the mac console on the iPhone device, but I found nothing, the logs will be completely empty after searching swdc

would be so appreciated if anyone help me what is the issue here.

Here are more details

I validated the AASA with here

enter image description here

And

  • "associated domains” capability is enabled for the app
  • I tested this process both from installed app from Xcode and TestFlight
  • The appID in my AASA includes two part -> 1- Team ID from Apple developer platform (see second image) and 2- app bundle identifier from Xcode
teamID.appBundleIdentifier 

I also run in Terminal

martin@martins-MacBook-Pro ~ % curl --http1.1 -i https://myDomain.nl/.well-known/apple-app-site-association

HTTP/1.0 200 Found
cache-control: no-cache
content-type: application/json

{
  "applinks": {
    "apps": [],
    "details": [
    {
      "appID": "5LKNOW4KJS.app.appname.com", 
      "paths": ["*"]
    }
    ]
  }
}

enter image description here


Solution

  • That third-party AASA validator (https://branch.io/resources/aasa-validator/) is reporting a ≥400 status code. That will prevent the universal links from working. Try opening https://yourdomain.nl/.well-known/apple-app-site-association from curl or a web browser, and see precisely what status code you receive.

    Until this error is resolved, universal links will not function correctly. Once you have resolved that AASA server configuration issue, if it is still not working with TestFlight (or ad hoc) archive builds, then review the rest of the configuration (e.g., the implementation of the necessary methods in the app/scene delegates, etc.).

    For more information, see See Supporting universal links in your app and Universal Links for Developers.


    Once you have enabled developer mode on your device, you can diagnose universal links in “Settings” » “Developer” » “Universal links” » “Diagnostics”:

    enter image description here


    From your macOS console, you can also diagnose links on a device by monitoring swcd events from the Console app, and search for “beginning data”:

    enter image description here

    And once you see the identifier, you can see all events associated for that particular universal link:

    enter image description here

    And you can generate a sysdiagnose on your device and then look at the swcutil_show.txt:

    Service:              applinks
    App ID:               …
    App Version:          302.0
    App PI:               <LSPersistentIdentifier 0x6e68185d0> { v = 0, t = 0x8, u = 0x16c8, db = 02350E0B-B10A-4D51-9FFD-F57CA687CF17, {length = 8, bytes = 0xc816000000000000} }
    Domain:               …
    Patterns:             {"/":"*"}
    User Approval:        unspecified
    Site/Fmwk Approval:   approved
    Flags:
    Last Checked:         2023-01-15 19:08:53 +0000
    Next Check:           2023-01-20 18:15:34 +0000
    

    See https://youtu.be/xxyEq_ySoO4.