Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Expo IOS Universal links NOT working in the simulator

I have an EXPO app and i'm trying to get into the app from external links (universal/deep linking), using the app that has been built with EAS for development build installed on the IOS simulator (IOS 14.4), Android is up and running perfectly and IOS is not working. the app.json file is configured as described here:

"associatedDomains": [
        "applinks:app.DOMAIN_NAME.com",
        "applinks:app.DOMAIN_NAME.com?mode=developer"
  ]

And, I have enabled associated domains service for my identifier.

My /.well-known/apple-app-site-association file:

{
  "applinks": {
    "details": [
      {
        "appIDs": [
          "B3PLCR5ZP2.dz.appname.app"
        ],
        "components": [
          {
            "/": "*",
            "comment": "Matches all routes"
          }
        ]
      },
      {
            "appID": "B3PLCR5ZP2.dz.appname.app",
            "paths": [ "*"]
        }
    ]
  },
  "activitycontinuation": {
    "apps": [
      "B3PLCR5ZP2.dz.appname.app"
    ]
  },
  "webcredentials": {
    "apps": [
      "B3PLCR5ZP2.dz.appname.app"
    ]
  }
}

The AASA validator is OK, but external links still not opening the native app! What to do?!

like image 510
HouDev Avatar asked Dec 08 '25 08:12

HouDev


1 Answers

The problem is that Expo sets the "TeamIdentifier" to "none" (TeamIdentifier = None) in the development, so my application-identifier now is: "application-identifier" = "FAKETEAMID.dz.appname.app";

IOS Simulator Logs Image

So in order for the universal links to work in the IOS simulator, I had to add FAKETEAMID.dz.appname.app to my /.well-known/apple-app-site-association file:

{
  "applinks": {
    "details": [
      {
        "appIDs": [
          "B3PLCR5ZP2.dz.appname.app", "FAKETEAMID.dz.appname.app"
        ],
        "components": [
          {
            "/": "*",
            "comment": "Matches all routes"
          }
        ]
      },
      {
            "appID": "B3PLCR5ZP2.dz.appname.app",
            "paths": [ "*"]
        },
      {
            "appID": "FAKETEAMID.dz.appname.app",
            "paths": [ "*"]
        }
    ]
  }
}

Now everything works perfectly!

like image 113
HouDev Avatar answered Dec 10 '25 00:12

HouDev



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!