Note: Browsers are restricted by CORS, so this tool fetches AASA via a public proxy. Do not input sensitive internal addresses; AASA should be publicly accessible.
- Place the file at `https://<domain>/.well-known/apple-app-site-association` (recommended) or `https://<domain>/apple-app-site-association`.
- No extension (no `.json`), HTTPS accessible, and return 200.
- `Content-Type: application/json` is recommended (signed AASA may be `application/pkcs7-mime`).
- Typical structure: `applinks.apps` is `[]`; `applinks.details` contains `appID` and `paths`/`components`.
- In Xcode > Associated Domains, add `applinks:your-domain.com` (include subdomains as needed).
- Make sure `appID` is correct: `<TeamID>.<BundleID>` and matches your signing.
- Install the app and test by tapping links from Safari/Notes/Messages.
- Wrong path/filename (missing `.well-known` or mistakenly using `.json`).
- Redirect/auth/WAF returns HTML.
- Invalid AASA JSON: missing `applinks.details[].appID` or missing `paths/components`.
- iOS caching: updates may take time to take effect.
- Apple CDN may cache: `app-site-association.cdn-apple.com` may not be real-time.
How to Use
- Enter your App's associated domain (e.g., example.com) in the 'Domain / Site URL' field.
- Select the AASA source (default .well-known path) and click 'Fetch & Validate'.
- Check the 'Results' section for HTTP status, Content-Type, and JSON format validity.
- Use the 'Universal Links Matcher' section to test if a specific URL matches the AASA rules.
Tips
This tool uses a public proxy to fetch files, bypassing browser CORS restrictions.
The AASA file must be accessible via HTTPS and should not have a .json extension.
iOS prioritizes /.well-known/apple-app-site-association for Universal Links validation.
Use the 'Paste manually' mode to validate rules for content that hasn't been deployed yet.