Hello, I'm having a hard time with Universal Links and my app.
This looks good:
$ curl -I https://www.bolsinga.com/.well-known/apple-app-site-association HTTP/1.1 200 OK Date: Mon, 12 Jun 2023 22:10:57 GMT Server: Apache/2.4.29 (Ubuntu) Last-Modified: Mon, 12 Jun 2023 20:53:38 GMT ETag: "1eb-5fdf4e9bcb926" Accept-Ranges: bytes Content-Length: 491 Content-Type: application/json
This looks good in my entitlements:
<key>com.apple.developer.associated-domains</key> <array> <string>applinks:www.bolsinga.com</string> </array>
The screenshot below good too (from Settings -> Developer -> Universal Links -> Diagnostics).
If I have a link like https://www.bolsinga.com/dates/sh624.html in Notes.app, and I tap on the link it will open in Safari. If I tap and hold, it will not suggest my application. It seems like my universal links should work. Am I doing it wrong? I thought it meant if I opened the URL in these ways it would open in my app.
Thanks for your help!
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
100 Posts
Sort by:
Post
Replies
Boosts
Views
Activity
Universal links stops working randomly,
When i tried this curl API test i found strange result
Case 1: When the curl test return association JSON response it works fine
Case 2: Sometimes the curl test fails and association JSON response is not returned for the same log is below: (Actual domain is replaced by mydomain.com)
Https enabled
No redirections
Association added in .well-known folder
Works randomly without any change in sever
IP added as exception in blacklist
Applebot added as:
User-agent: Applebot
Allow: /.well-known/
Curl API Test Response:
Using Terminal:
curl -v https://app-site-association.cdn-apple.com/a/v1/mydomain.com
* Trying 8.241.155.124:443...
* Connected to app-site-association.cdn-apple.com (8.241.155.124) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/cert.pem
* CApath: none
* (304) (OUT), TLS handshake, Client hello (1):
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-AES256-GCM-SHA384
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: CN=app-site-association.cdn-apple.com; OU=management:idms.group.5707244; O=Apple Inc.; ST=California; C=US
* start date: Sep 1 20:44:29 2021 GMT
* expire date: Oct 1 20:44:28 2022 GMT
* subjectAltName: host "app-site-association.cdn-apple.com" matched cert's "app-site-association.cdn-apple.com"
* issuer: CN=Apple Public Server RSA CA 12 - G1; O=Apple Inc.; ST=California; C=US
* SSL certificate verify ok.
> GET /a/v1/mydomain.com HTTP/1.1
> Host: app-site-association.cdn-apple.com
> User-Agent: curl/7.79.1
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
< Date: Tue, 28 Jun 2022 06:51:03 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 10
< Connection: keep-alive
< Apple-Failure-Details: {"cause":"context deadline exceeded (Client.Timeout exceeded while awaiting headers)"}
< Apple-Failure-Reason: SWCERR00301 Timeout
< Apple-From: https://mydomain.com/.well-known/apple-app-site-association
< Apple-Try-Direct: true
< Cache-Control: public, max-age=1800
< Expires: Tue, 28 Jun 2022 06:51:23 GMT
< X-Cache: MISS
< CDNUUID: 2478cf3a-1d35-4870-ae61-0ad342ef8adf-1481196180
< CDN-Server: lumn
< Age: 1238
<
Not Found
* Connection #0 to host app-site-association.cdn-apple.com left intact
Please support, Urgent Help Required.
When I attempt to open a Universal Link in safari as the default browser, the Universal Link worked, seamlessly launching the corresponding native app. However, when any other browser is set as the default, this feature breaks, and the Universal Link fails to open the native app.
Does anyone have a solution for this issue?
Can we use Branch.io for this ?
Hi,
I'm having a problem about defining universal link.
I have a link like: host/en/booking/#serviceApp/resetPassword.
I added in AASA file bellow:
"applinks": {
"apps": [],
"details": [
{
"appID": "myAppId",
"components": [
{
"/": "/*/booking/*/resetPassword",
"#": "serviceApp"
}
]
},
]
}
}
Is it correct? Because I tried to test but it did not work
Thanks!
Hi,
I have a problem with associated domains developing Passkeys app.
Adding alternate mode(developer mode) to Associated Domains Entitlement, it works fine.
But in non developer mode, CDN doesn't seem to read the AASA file.
AASA file's path is: https://(host).(rootdomain)/.well-known/apple-app-site-associtation
I checked the TLS certificate conditions and all conditions are met.
https://support.apple.com/en-us/HT213464
https://support.apple.com/en-us/HT210176
https://support.apple.com/en-us/102028
Is there another reason why it only works in developer mode?
Thanks for your reply.
I uploaded the AASA configuration file to two domains - one domain consists of Cyrillic, the other domain consists of Latin letters. The problem is that a domain that supports Cyrillic is not handled when opening a link in iOS app.
The AASA configuration is the same.
Does apple support universal links for punycode domains ?
Universal linking feature stooped working after adding smart app banner. Also, universal linking started working after removing Smart app banner meta tag from the website.
To test smart app banner on staging env, we used appStoreId of our prod app that is on appstore because we don't have a stage app on app store. Both universal links and Smart app banner are working fine on staging env but the same flow is not working on prod env. Any help would be appreciated
CDN Cache URL: https://app-site-association.cdn-apple.com/a/v1/dev.alignwell.com
Apple CDN Cache Checks: Fail
CDN Cache Query Success: Fail
Status Code not 200-299: 404
No Apple Failure Message: Fail
Apple has provided a failure reason: SWCERR00201 Insecure (non-https) redirects forbidden
Apple CDN Cache Up to Date: Fail
File cached by Apple CDN does not match direct file
CDN Cached Contents:
Not Found
Apple CDN Debug Headers:
Apple-Failure-Details: {"location":"http://dev.alignwell.com/.well-known/apple-app-site-association/"}
Apple-Failure-Reason: SWCERR00201 Insecure (non-https) redirects forbidden
Apple-From: https://dev.alignwell.com/.well-known/apple-app-site-association
Apple-Try-Direct: false
Cache-Control: max-age=3600,public
Age: 3561
Content-Length: 10
My iOS app has to support a universal links to a specific page in the app when it clicked outside the app. The app we have built is not a native iOS app but it get loaded in iOS shell or frame. Below is the scenario which i am facing the issue.
Landing page URL https://example.domain.com/#/
Specific links https://example.domain.com/#/ncx/view-post/:1234
The above link if I clicked outside the app it should go to the specific post but it currently open the app but not going to specific page. I have tried below formats in AASA file but it did n't work out
And I am having difficulties in getting this to work. I have created an AASA file like
{
"applinks": {
"apps": [],
"details": [{
"appID": "ASDF35SDF.ios.mybundle.com",
"components": [{
"/": "/#/ncx/*"
}]
}]
}
}
I also tried with wildcards instead of directly adding "#" in the AASA file.
{
"applinks": {
"apps": [],
"details": [{
"appID": "ASDF35SDF.ios.mybundle.com",
"components": [{
"/": "//ncx/"
}]
}]
}
}
Both didn't work.
Any help is appreciated.
Update 1
Tried with new fragment components, but no luck there either
{
"applinks": {
"apps": [],
"details": [{
"appID": "ASDF35SDF.ios.mybundle.com",
"components": [{
"#": "/ncx/*"
}]
}]
}
}
Hello, I'm currently configuring Universial Link to my services.
But I've got error(SWCERR00201) from apple CDN.
$ curl -I -v https://app-site-association.cdn-apple.com/a/v1/m.qa.music-flo.com
...
< Apple-Failure-Details: {"location":"http://m.qa.music-flo.com/.well-known/apple-app-site-association/"}
Apple-Failure-Details: {"location":"http://m.qa.music-flo.com/.well-known/apple-app-site-association/"}
< Apple-Failure-Reason: SWCERR00201 Insecure (non-https) redirects forbidden
Apple-Failure-Reason: SWCERR00201 Insecure (non-https) redirects forbidden
< Apple-From: https://m.qa.music-flo.com/.well-known/apple-app-site-association
Apple-From: https://m.qa.music-flo.com/.well-known/apple-app-site-association
...
However, I can get apple-app-site-association json file via accessing http/https URL(http:/m.qa.music-flo.com/.well-known/apple-app-site-association).
I would greatly appreciate any help on this.
Thank you !
I have a question regarding the "webcredentials" field in the "apple-app-site-association" file.
If there are multiple apps listed in webcredentials, do the credentials for one app need to work for the other apps?
I created an app without a web version and I am using the associated domain "webcredentials:website.com" to enable password autofill. I am wondering if I will be able to use the same associated domain for other apps in the future even if the credentials aren't shared between apps.
(I tried using a subpath "webcredentials:website.com/app1", but the subpath isn't used when looking at Settings -> Passwords)
Thank you,
i implemented universal url support in iOS app where when we click on universal url, app was getting open in iOS 16.1 and below this OS version
Problem is: when same link we open from iOS 16.5 and iOS17 beta version, it is not opening app. it is opening browser instead.
my question is what happened with iOS 16.5 and above are they not supporting universal url?
Hello, I connected Universal Links between the website and the application, everything was done according to the official documentation, and everything works fine, when the site is launched, safari offers to launch the application, there is also a banner above the launch page. In SwiftUI, I listen to the URL via .onOpenURL (perform :), everything works, but if the link is encoded in a QR code and scanned through the camera, a plate will appear prompting you to go to the application, and it goes, but only does not pass the URL to the .onOpenURL method (perform: ) . What could be the problem ?
We updated the file ~2 days ago and the feature we are working on seemingly does not work - web links never open in the app, always end up at the browser.
I set up new test site, added the file there and linked it up with the app. Tapping the link opens in the app.
So my conclusion is that Apple's CDN is not updated. But how I can verify that?
Hello.
Does WKWebView on Mac support FIDO2(webauthn)?
We need to implement this in our app and ASWebAuthenticationSession API comes up in searches all the time as the only solution. Is this still the case?
From my experiments ASWebAuthenticationSession on Mac doesn't provide best user experience - too much fiddling and odd behavior for an end user.
F.e. user needs to click Open button from the browser window to pass token to the very same app which initiated the window and this is not very logical considering all the efforts to setup applink.
Would appreciate an advice.
We have a requirement where we want to keep user in the browser until he completes the onboarding. Is there any way to keep the user in browser even if app is installed.
Issue is once app will come in foreground and then we can manually check and open the same link in browser but in that case app will open and go back to browser will give a bad user experience.
We are currently exploring deferred installation using iOS universal links. Our web page includes universal links with specific user data that we want to pass to the app after first installation.
We are looking for suggestions on implementing a seamless transition from Safari to the app, where the device can be consistently and uniquely identified. Any insights or best practices regarding JavaScript-based fingerprinting, storing identifiers, and linking them to user accounts within the app would be greatly appreciated. Additionally, I'm interested in ensuring compliance with privacy regulations and maintaining transparent data collection practices. Thank you in advance
I created an application with the com.apple.developer.web-browser (set default browser) function, but when I want to add the Universal link function to this application, I found that the Universal link function is invalid. I searched for this problem for a long time, until finally I found that it has something to do with com.apple.developer.web-browser settings, when I turn off com.apple.developer.web-browser, Universal link works again. But my app needs to have both, has anyone encountered such a problem? Can you provide some solutions?Thanks anyway.
On iOS 14 you can pick another default browser than Safari. If you use another browser, that browser will ask the user to change their default browser.
I have installed quite a few browsers (Chrome, Firefox, Edge, Opera, Brave...) and have set each of them as my default one.
Problem comes when I try to open a Universal Link (which was working just fine when Safari was the default browser), which seems to just not work. With Safari as default browser, the Universal Link would work, and the corresponding native app was getting opened. However, with any other browser different from Safari set as default, the feature is broken and the Universal Link doesn't open the native app.
Has anyone experienced anything similar?
Why might this happen and how might this be solved?
Any help is very much welcomed
I have universal links working from my web page to my app. So that is good.
But from the web page it says AccessDenied but above that it says open in my app and a blue button saying OPEN. When I click OPEN it works fine. But I would like to have it go directly to my app without the user seeing this screen and having to select OPEN to continue.
I had thought that associated domains would have suppressed this?
Is it possible to not ask the user for permission each time on a trusted (associated) domain?