We are looking to setup domain-bound codes for our app and need to add the associated domain file to our website.
We currently do not use Universal Links or Password AutoFill.
We have looked at the documentation but are not sure of what the contents of the association file should be to enable domain-bound codes if you are not using Universal Links or Password AutoFill.
Can any assistance be provided?
Universal Links
RSS for tagAllow your users to intelligently follow links to content in your app or to your website using universal links.
Posts under Universal Links tag
74 Posts
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hello! I'm having an issue with my universal links. Apple AASA CDN couldn't get the AASA file.
I'm trying to reproduce the issue, but I get the file correctly.
curl -A "AASA-Bot/1.0.0" https://hoff.ru/.well-known/apple-app-site-association
But, unfortunately,
https://app-site-association.cdn-apple.com/a/v1/hoff.ru
Returns 404 Not Found.
And the Error Header contains error, that there is and HTML < symbol, which is the sign of 403 error responsed by NGINX.
* Request completely sent off
< HTTP/1.1 404 Not Found
< Apple-Failure-Details: {"cause":"invalid character '\u003c' looking for beginning of value"}
< Apple-Failure-Reason: SWCERR00401 Bad JSON content
< Apple-From: https://hoff.ru/.well-known/apple-app-site-association
< Apple-Try-Direct: false
Can you tell me what's the problem?
I don't see any requests from 17.0.0.0/8 subnet which is now open for our site.
Can you please investigate my problem?
Hello,
I'm currently working with Smart App Banners and trying to test how they appear and behave on iOS. However, I need to test the Smart Banner in a debug or non-production environment to ensure everything works as expected.
According to the documentation for Smart App Banners (https://developer.apple.com/documentation/webkit/promoting-apps-with-smart-app-banners?language=objc), it appears that the banner only shows in production builds or live apps. Is there any way to trigger or test the Smart Banner in a debug mode or non-production environment?
Any advice or workaround for testing this feature would be greatly appreciated!
Thank you in advance!
I have a simple Safari extension for iOS.
In its popup, I want a button that will open the app via a universal link.
I have this kind-of working, except that Safari opens the actual online destination of the link with a banner at the top saying "Open in the XXXX app" and an OPEN button.
What do I have to do to go directly to the app?
More generally, I know that if I copy-and-paste a universal link into the Safari address bar, Safari does the same thing - but it does go directly to the app from an <a href="...."> link.
In my app extension JavaScript, I set window.location. Presumably this is too similar to pasting into the address bar.
Is there some alternative to setting window.location that is more like clicking on a link and will go directly to the universal link's app?
Thanks.
Hello,
We do not have explicitly set it our website, but still Smart Banner appears since we have universal link setup. (current URL matches the universal link patterns set in your apple-app-site-associations file ). Also, I understand it appears only for users having our app installed.
We do not want to show this banner in any case. is there any way to choose not to show the app banner? either setting additional meta or any other way would work.
regards,
Hussain
Hello, we encountered a 403 error while accessing AASA.
> curl -i 'https://app-site-association.cdn-apple.com/a/v1/finture.id'
HTTP/1.1 404 Not Found
Content-Type: text/plain; charset=utf-8
Content-Length: 10
Connection: keep-alive
Server: nginx
Date: Fri, 28 Feb 2025 03:17:02 GMT
Expires: Fri, 28 Feb 2025 03:17:12 GMT
Age: 1122
Apple-Failure-Details: {"status":"403 Forbidden"}
Apple-Failure-Reason: SWCERR00101 Bad HTTP Response: 403 Forbidden
Apple-From: https://finture.id/.well-known/apple-app-site-association
Apple-Try-Direct: false
Via: https/1.1 jptyo12-3p-pst-007.ts.apple.com (acdn/14454.1), http/1.1 jptyo12-3p-pac-027.ts.apple.com (acdn/14454.1), https/1.1 jptyo12-3p-pfe-014.ts.apple.com (acdn/14454.1)
X-Cache: MISS KS-CLOUD
CDNUUID: 51e5b30b-1f3c-4778-bb6f-cff5447ad763-1988011596
x-link-via: ntct03:443;xianymp018:443;gzct61:443;xg36:443;
x-b2f-cs-cache: no-cache
X-Cache-Status: MISS from KS-CLOUD-XG-FOREIGN-36-07
X-Cache-Status: MISS from KS-CLOUD-GZ-CT-61-05
X-Cache-Status: MISS from KS-CLOUD-XIANY-MP-018-25
X-Cache-Status: MISS from KS-CLOUD-NT-CT-03-03
X-KSC-Request-ID: f1f2bf47e4b7e7b93596bbe7d60b1583
CDN-Server: KSFTF
X-Cdn-Request-ID: f1f2bf47e4b7e7b93596bbe7d60b1583
Not Found
But we can access https://finture.id/.well-known/apple-app-site-association.
How should we solve this, thank you.
We have been having problems with our app clip not working when sharing through iMessage. The app and app clip are published and work correctly when scanning a QR code that points to the URL: https://www.coderus.com/locations?loc=1 however if this same URL is shared through the iMessage app, a link to the website displays and not the app clip card.
We have confirmed that:
AASA file is available and has the type application/json
Both devices are above iOS 14
Both devices are in each other's contacts
The website has the meta tag for the smart app clip banner
The website has a meta tag for the og:image
Launch experiences have been configured on AppStoreConnect - as said before, the QR codes work correctly
The link leads to a 404 page, I wasn't sure if there needs to be an actual page that the link points to as app clips seem to work fine without when scanning the QR code through the camera app.
Hello, I'm having trouble modifying Universal Links in my application
I already have a Universal Links configuration, but now I need to change it to https://iyb-cityapp1.sjdit.com/.well-known/apple-app-site-association. After the configuration is completed, I click this link https://iyb-cityapp1.sjdit.com/index.html in Notes.app and it opens in Safari and does not open the application. What did I do wrong?
Thanks for your help!
I’m seeking guidance on an issue with my iOS app’s universal link for email verification. The link successfully opens my app, but the verification logic never runs.
Here is my setup and the problem details:
Associated Domains & AASA
I have Associated Domains set to applinks:talkio.me in Xcode.
The AASA file is located at https://talkio.me/.well-known/apple-app-site-association with the following contents:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "VMCWZ2A2KQ.com.elbaba.Flake2",
"paths": [
"/verify*"
]
}
]
}
}
The direct link we send in the email looks like:
https://talkio.me/verify?mode=verifyEmail&oobCode=XYZ&apiKey=ABC
When tapped, the app launches, but the universal link handler code below never logs the URL nor triggers the verifyEmailUsing logic.
SceneDelegate Logic
In my SceneDelegate.swift, I handle universal links in both scene(:willConnectTo:options:) and scene(:continue:userActivity:restorationHandler:):
func scene(_ scene: UIScene,
willConnectTo session: UISceneSession,
options connectionOptions: UIScene.ConnectionOptions) {
// ...
if let urlContext = connectionOptions.urlContexts.first {
let url = urlContext.url
print("SceneDelegate: App launched with URL: (url.absoluteString)")
handleUniversalLink(url: url)
}
}
func scene(_ scene: UIScene,
continue userActivity: NSUserActivity,
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
print("⚠️ scene(_:continue:) got called!")
guard let url = userActivity.webpageURL else {
print("No webpageURL in userActivity.")
return false
}
print("SceneDelegate: Universal Link => (url.absoluteString)")
handleUniversalLink(url: url)
return true
}
private func handleUniversalLink(url: URL) {
let urlString = url.absoluteString
if let oobCode = getQueryParam(urlString, named: "oobCode") {
verifyEmailUsing(oobCode)
} else {
print("No oobCode found => not a verify link.")
}
}
// ...
Expected Log:
SceneDelegate: App launched with URL: https://talkio.me/verify?mode=verifyEmail&oobCode=XYZ&apiKey=ABC
However, I only see:
SceneDelegate: sceneDidBecomeActive called
No mention of the universal link is printed.
Result:
The app opens on tapping the link but does not call handleUniversalLink(...).
Consequently, Auth.auth().checkActionCode(oobCode) and Auth.auth().applyActionCode(oobCode) are never triggered.
What I Tried:
Verified the AASA file is served over HTTPS, with content type application/json.
Reinstalled the app to refresh iOS’s associated domain cache.
Confirmed my Team ID (VMCWZ2A2KQ) and Bundle ID (com.elbaba.Flake2) match in the app’s entitlements.
Confirmed the link path "/verify*" matches the link structure in emails.
Despite these checks, the universal link logic is not invoked. Could you help me identify why the link is not recognized as a universal link and how to ensure iOS calls my SceneDelegate methods with the correct URL? Any guidance on diagnosing or resolving this universal link issue would be greatly appreciated.
I have an iOS app where the universal links are not working. Basically, I have double-checked the AASA file, and it's formatted correctly. It's in the right location .well-known subdirectory. I have checked other things as well.
For my app, if the user has forgotten their password, they click on the Forgot Password option, which sends them an email, after which they click on a link; the link should open the iOS app, but is instead opening up the web browser. The format of the link matches the formatting in the AASA file. As well, I've checked associated domains as well.
Using Postman, I can see that the AASA file is accessible.
I have a feeling that the iOS app cannot fetch the AASA file, as I don't see any relevant swcd logs.
My AASA file is located at:
https://www.COMPANY_NAME.ca/.well-known/apple-app-site-association
Please advise.
We have universal links which takes user to various journeys in the app when user clicks on the link, however it works only when app is installed. If app is not installed link takes user to the App Store and when the user installs and opens the app, the link does not launch the intended deeplink flow.
Is there any way we can pass context to app store and receive it when user opens the app?
Android provides similar functionality using install referral lib. Checking if similar is possible in iOS.
I have two standalone app written for watchos (standalone). One to authenticate and one for connectivity to real-world devices. The connectivity app uses the authentication app before every action, Im testing this with two xcode projects I have created and tried different things ended up with this error.
authapp://authenticate?callback=linkingapp://callback
-[SPApplicationDelegate extensionConnection:openSystemURL:]:2418: URL with scheme "authapp" not supported
how to get the url scheme working? Tested this in simulator and real device. info.plist and AppDelegate files are placed in both apps.
Hello all,
I am trying to build a Flutter app that supports a link the opens the app.
I would like the link to be sent by email, and when clicked I would like to app to open. On android all works fine, but on IOS it doesnt.
I currently have:
A link that does open the app but doesnt navigate to the correct screnn - it just shows the last screen that app was on.
I have tried following the tutorial on https://docs.flutter.dev/cookbook/navigation/set-up-universal-links to the letter but still doesnt work
I am using:
Flutter 3.22.3
Go Router 14.2.7
Thanks in advance
Hi developers,
I have a question if it is possible to open in my application not main window but a specific ViewController, when application is installed but not running.
When the application is running in background and I scan QR code, then specific ViewController is opened over SceneDelegate and method 'userActivity'. But this does not work when the application is only installed, but not running.
The Appstore link is here: https://apps.apple.com/us/app/don%C3%A1tor/id6473955033
I want to implement webauthn using WKWebView for my mac application. I want to host the asaa file in the rpid. Below are my site configuration -
Main domain - example.com
Subdomain which has the sign-in view and where webauthn kicks in - signin.example.com
RPID - example.com
Where shall i host the asaa file at domain(example.com) or subdomain(signin.example.com)?
Topic:
Privacy & Security
SubTopic:
General
Tags:
Autofill
Authentication Services
Universal Links
WebKit
In our iOS app we have added example.com in associated domains from the very beginning With no AASA file hosted at example.com domain
Now we need a subdomain app.example.com to be intercepted in our app, so for the same, we are thinking to host AASA at app.example.com and add app.example.com in associated domains too.
so my question is will hosting AASA at sub domain works? If yes, will it affect older apps where app.example.com is not handled.
In short we only want the links with app.example.com to be open in our app not the example.com links
The server returns a response content-type must be text/html when universal links are configured
application/json can be used?
Hi Apple developers, I am very new to XCode and Swift, I am planning to build an app for iOS from a web. I tried to use WKWebView to handle the web , I managed to redirect some of the links to Safari, however some button/links didn't trigger .linkActivated function and encounter the error as "Your browser preventing this app to open “URL”.
If I copy the URL to Safari is able to open, I trying to research on web but can't find any related solution for my case.
Here is the code in my app:
import UIKit
import WebKit
import SafariServices
class ViewController: UIViewController, WKNavigationDelegate {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Initialize WKWebView
let webConfiguration = WKWebViewConfiguration()
//enable javascript
webConfiguration.preferences.javaScriptEnabled = true
webView = WKWebView(frame: self.view.frame, configuration: webConfiguration)
webView.navigationDelegate = self
self.view.addSubview(webView)
// Load a web page as webview
if let url = URL(string: "https://myurl") {
let request = URLRequest(url: url)
webView.load(request)
}
//console log
webView.evaluateJavaScript("console.log('Button clicked!')") { result, error in
if let error = error {
print("Error executing JavaScript: \(error.localizedDescription)")
} else {
print("JavaScript result: \(String(describing: result))")
}
}
}
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
if let url = navigationAction.request.url, navigationAction.navigationType == .linkActivated {
// Check if URL is external and open it in Safari
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
decisionHandler(.cancel) // Prevent loading the link in the WebView
} else {
decisionHandler(.allow) // Allow loading if URL cannot be opened in Safari
}
} else {
decisionHandler(.allow) // Allow the WebView to load the URL normally
}
}
}
**Description: **
We have implemented a process to launch a native app from a browser (Safari) via universal links. However, under certain conditions, the app does not launch seamlessly, and an error page is displayed in the browser. In such cases, a button to open the app appears at the top of the error page, and pressing this button successfully opens the app.
The error page is a blank white page with only the following error message displayed: "NoSuchKeyThe specified key does not exist."
We want to confirm the detailed specifications and conditions of the behavior where seamless transition via universal links fails.
If there are means to suppress or control the occurrence of this issue, please let us know.
Configuration:
OS: iOS 18.1
Device: iPad 9th generation, 10th generation
**Reproduction Steps: **
When attempting to launch the app via a universal link, a pop-up appears asking "Do you want to allow this page to open ?"
If 'Cancel' is pressed in this pop-up, the issue occurs the next time the app is launched via a universal link.
However, we have also confirmed that this issue can occur due to operations other than this one, and we have not been able to pinpoint the conditions under which it occurs. Therefore, we would like to confirm the detailed specifications and conditions leading to the occurrence of this issue.
I’m trying to fix an issue with a pipeline that automatically distributes an app to the App Store (TestFlight). Unfortunately, universal links don’t work because the .entitlements file in the build doesn’t include the specified associated domains, even though they are defined. I’ve double-checked the certificates, provisioning profiles, and Xcode settings — everything seems correct. Therefore, I assume the issue lies in the build commands, which are as follows:
Create Archive
xcodebuild -workspace ios/ClientDomain.xcworkspace -scheme ClientDomain archive -sdk iphoneos -configuration ClientDomain -archivePath ios/ClientDomain.xcarchive CODE_SIGN_STYLE=Manual CODE_SIGN_IDENTITY="Apple Distribution: Company Name (XXXXXXXXXX)" PROVISIONING_PROFILE=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx CODE_SIGNING_ALLOWED=No
Export Archive
xcodebuild -exportArchive -archivePath ios/ClientDomain.xcarchive -exportPath ios -exportOptionsPlist ios/exportOptions.plist
I also want to provide files I use, in order to make sure I don't have any mistakes:
ClientDomain.entitlements
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.associated-domains</key>
<array>
<string>applinks:www.site.com</string>
<string>webcredentials:www.site.com</string>
</array>
</dict>
</plist>
exportOptions.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>destination</key>
<string>export</string>
<key>generateAppStoreInformation</key>
<false/>
<key>manageAppVersionAndBuildNumber</key>
<true/>
<key>method</key>
<string>app-store-connect</string>
<key>provisioningProfiles</key>
<dict>
<key>com.bundle.app</key>
<string>xxxxx-xxxxx-xxxxx-xxxxx-xxxxx</string>
</dict>
<key>signingCertificate</key>
<string>Apple Distribution: Company Name (XXXXXXXXXX)</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>XXXXXXXXXX</string>
<key>testFlightInternalTestingOnly</key>
<false/>
<key>uploadSymbols</key>
<true/>
</dict>
</plist>
I'm curious, how people usually distribute their apps to App Store. What if I do something wrong?
Topic:
App Store Distribution & Marketing
SubTopic:
General
Tags:
Developer Tools
Entitlements
Code Signing
Universal Links