Universal Links

RSS for tag

Allow your users to intelligently follow links to content in your app or to your website using universal links.

Posts under Universal Links tag

81 Posts
Sort by:

Post

Replies

Boosts

Views

Activity

Confused about the appclip.apple.com domain
Question: I'm aware of the AASA file hosting procedure to make app clips work and link them to your website, but IIRC you can trigger app clips via the simple appclip.apple.com URL too, right? As a result no need to host the AASA file. Like my app store connect gave me the URL https://appclip.apple.com/id?p=myname.myappsname.Clip but when I click it it says "This app clip is not currently available in your country or region". However I'm also getting Bad JSON content on the View Status under the domain. I'm so confused.
1
0
79
Apr ’25
Associated Domains and location of the AASA file when “service”=”Authsrv”
We are planning to use our internal IdP (PingFederate) for authentication of end users in their iOS apps using ASWebAuthenticationSession. Initial tests are successful, but the user is prompted for every login (and logouts) with a consent dialogue box: “AppName” wants to use “internal domain-name” to Sign In This allows the app and website to share information about you. Cancel Continue” Let’s say that our top-level domain is “company.no”, where our IdP is placed at “idp.company.com”. I have seen examples where the Associated domains entitlement points to the idp as a webserver for serving the JSON output AASA file. In this case that would be: authsrv: idp.company.com Anyone with experience implementing this structure with the IdP as webserver for serving the JSON output? Our problem is that trying to use the IdP as webserver for this purpose is that it is very complicated to modify the IdP’s webserver configuration. Also, this modification needs to be re-done every time we need to upgrade the IdP. My question is therefore also related to the options of which webserver to install the AASA file on. Has anyone installed the file on a generic webserver on the toplevel domain like “webserver.company.com” ?
4
0
86
Apr ’25
custom-URL-handling method not being called
I've defined a URL scheme for my application, and that's being honored by iOS. But the function that's supposed to handle the URL in my appliation (as documented here) is never called. The documentation doesn't say exactly where this is supposed to go. I've tried it in my App struct: @main struct MyGreatApp: App { var body: some Scene { WindowGroup { MainView() } } // Handle custom URLs, specifically the ones sent in invitation E-mails or texts. func application(_ application: UIApplication, open theURL: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:] ) -> Bool { // Determine who sent the URL. let sendingAppID = options[.sourceApplication] print("source application = \(sendingAppID ?? "Unknown")") ... And I also tried putting this at the file level. No dice either way. Anybody have an idea why? To head off things I've seen in other posts: I'm not using scenes, and there's no SceneDelegate.
12
0
194
Apr ’25
Support request regarding missing params in Redirect URL and inconsistent Universal Link behavior on iOS 18.4
(1) Context: Our project has a login feature via WEBVIEW (using SFSafariViewController) and integrates PassKey on the Web side. The app listens for a successful login by capturing the redirect URL via the delegate of SFSafariViewController. (2) Issue: On iOS < 18.4: The redirect URL is captured with full parameters returned. https://xyz.com/home?session_state=...&code=... On iOS ≥ 18.4: The redirect URL is captured successfully but missing parameters. https://xyz.com/home We currently suspect that the issue originates from the SFSafariViewController framework after the release of iOS 18.4. Has anyone experienced a similar issue? We would also appreciate support from the Apple team.
8
4
375
Jul ’25
Skip the "Do you want to open ?" Modal
We have an Angular web application which gets installed as a webclip on client iPads. The web application has buttons that will take the user directly to our native iOS application. We also would like a way for our webclip application when opened to perform some data lookups and if certain conditions are met, then take the user directly to our native iOS app. We're using vanilla JS window.open. This works well when the user manually taps button. However, this does not work when the webclip application tries to open the native iOS app without user interaction. In that case the window.open does nothing. The window.open target URL is the exact same in both cases. We tried using URL Schemes instead of Universal Links but with this the iPad displays a modal asking "Do you want to open ?". For our use case, this is unacceptable. Is there any way for us to skip this prompt? We'd like there to be no additional action needed from the user to be able to get from webclip to native iOS app beyond simply opening the webclip.
1
0
68
Apr ’25
Universal Links: Is the 'paths' Array Deprecated in Favor of 'components' in AASA?
Hello! I'm working with universal links in my app and have configured the /.well-known/apple-app-site-association file. Currently, I use the paths array in this file to define URL routing rules. However, I’m struggling to find up-to-date documentation on the pattern syntax supported by the paths field. "paths": [ "/page/*", "NOT /page/*/subpage" ] Could someone clarify: Is the paths array still officially supported, or is it deprecated in favor of the newer components dictionary (as referenced here https://developer.apple.com/documentation/bundleresources/applinks/details-swift.dictionary/components-swift.dictionary)? If paths is still valid, where can I find documentation for its pattern-matching capabilities? I want to ensure my implementation aligns with Apple’s current best practices. Thank you!
1
0
96
Mar ’25
Associated domain file for domain-bound code
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?
3
0
429
Mar ’25
Universal link not working
My ASA file is located here https://staging.docyt.com/apple-appsite-association It downloads fine. It does not have .json extension and neither does it reside inside the ./well-known folder. Should it work? Because opening the link https://staging.docyt.com/reset-password is not opening the app installed via TestFlight . Installing via XCode however works fine. Please help
5
0
817
Apr ’25
404 Not found (403 from server) for my AASA file
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?
1
0
1.2k
Mar ’25
Testing iOS Smart Banner in Debug or Non-Production Mode.
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!
1
0
986
Mar ’25
Redirecting to an app's universal link from and app extension popup
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.
5
0
1.1k
Mar ’25
Inquiry About Deferred Deep Link Limitation and Alternative Options
Dear Apple Support Team, I hope this message finds you well. I’m reaching out to inquire about the limitations of deferred deep linking within iOS applications. Specifically, I’m interested in understanding the constraints and challenges that prevent deferred deep links from functioning as expected in certain scenarios (e.g., when the app is not installed or other related issues). Additionally, I would like to ask if there are any recommended alternative approaches or solutions to implement deep linking, ensuring that users can still be directed to specific content or screens even if they need to install the app first. Your insights and guidance would be greatly appreciated as I work to enhance the user experience in my app. Thank you for your time and assistance. Best regards, Santosh
4
5
1.1k
Apr ’25
AASA - 403 Forbidden
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.
1
0
926
Mar ’25
Universal Links Issues
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!
2
0
892
Feb ’25
Universal link not working
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.
1
0
979
Feb ’25
Universal Links are not working
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.
1
0
994
Feb ’25
Deeplink between two standalone watchos App
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.
1
0
1.1k
Feb ’25
Flutter IOS deep links
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
1
0
1k
Feb ’25
Intermittent Failures Launching App from Universal Links using ASWebAuthenticationSession
I'm developing an iOS app that utilizes Universal Links and ASWebAuthenticationSession to deep-link from a website to the app itself. This implementation adheres to the recommendations outlined in RFC 8252, ensuring that the app opening the ASWebAuthenticationSession is the same app that is launched via the Universal Link. Problem:  While most users can successfully launch the app via Universal Links,a few percent of users experience instances where the app fails to launch, and the user is redirected to the browser. What I've Tried:  ASWebAuthenticationSession Configuration: I've double-checked the configuration of callbackURLScheme and presentationContextProvider.  Universal Links: Verified the apple-app-site-association file and associated domains entitlement.  Network Conditions: Tested on various network environments (Wi-Fi, cellular) and devices. Questions:  What are the potential causes for this behavior?  Has anyone else encountered a similar issue and found a solution?  Are there any debugging techniques or ways to generate more detailed logs? I haven't been able to determine which device or OS version is causing this problem. Thank you.
5
0
1k
Apr ’25
Where to add the apple-app-site-association files for web-credential capability - Domain or subdomain?
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)?
3
0
1.5k
Jan ’25