development
AASA (Apple-App-Site-Association)
A JSON file hosted at your domain's .well-known directory that tells Apple which apps are authorized to handle URLs from that domain for Universal Links and App Clips.
The apple-app-site-association (AASA) file is a JSON document that establishes a verified connection between your web domain and your iOS app. It must be hosted at https://yourdomain.com/.well-known/apple-app-site-association.
File Structure
A typical AASA file supporting both Universal Links and App Clips:
{
"applinks": {
"details": [{
"appIDs": ["TEAMID.com.yourcompany.yourapp"],
"components": [
{ "/": "/menu/*" },
{ "/": "/product/*" }
]
}]
},
"appclips": {
"apps": ["TEAMID.com.yourcompany.yourapp.Clip"]
}
}
Hosting Requirements
- Served over HTTPS with a valid SSL certificate
- Content type
application/json - Accessible without redirects (no HTTP-to-HTTPS redirect in the path)
- No authentication required
- File size reasonable (under 128 KB recommended)
Validation
Test your AASA file with:
curl -v https://yourdomain.com/.well-known/apple-app-site-association- Apple’s AASA validator tools
swcutilcommand-line tool on macOS
CDN Caching
Apple caches AASA files through its own CDN. After updating the file, changes can take up to 24 hours to propagate. During development, use the ?mode=developer suffix on your Associated Domains entitlement to bypass the cache.
Common Mistakes
- Wrong Team ID prefix (use your Team ID from developer.apple.com, not the App ID prefix)
- Missing
.Clipsuffix in theappclipssection for App Clip bundle IDs - JSON syntax errors (validate with a JSON linter before deploying)
- Redirects in the server configuration blocking direct access to the file