iOS Universal Links

Configuring Universal Links on iOS (Not Run Here)

iOS needs the same two halves, shown here from Apple's and Capacitor 243,123 's documentation. In Xcode 10 , the App target's Signing & Capabilities tab gets the Associated Domains capability with the entry applinks:booknest.example.com, which Xcode writes to App.entitlements. On the server, a file named apple-app-site-association, with no .json extension, goes to the same .well-known/ folder, served over HTTPS without redirects:

deploy/.well-known/apple-app-site-associationJSON
{
  "applinks": {
    "details": [{
      "appIDs": ["ABCDE12345.com.example.booknest"],
      "components": [
        { "/": "/books/*", "comment": "book pages open in the app" },
        { "/": "/checkout/*", "exclude": true, "comment": "checkout stays on the web" }
      ]
    }]
  }
}

ABCDE12345 stands for your Team ID, followed by the bundle identifier. The components format (iOS 13 and later) matches paths, ? query items and # fragments and can exclude paths; it replaces the older paths array. Unlike Android's file, it lists paths: only /books/... opens in BookNest. iOS fetches the file when the app is installed or updated.