Universal Links

RSS for tag

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

Universal Links Documentation

Posts under Universal Links tag

95 Posts
Sort by:
Post not yet marked as solved
1 Replies
548 Views
I have seen several sites touting that Universal Links now support wildcards for subdomains...just does not work for me. If I put applinks:*.mydomain.com, does not work if I put applinks:mysubdomain.mydomain.com it works fine...anybody?
Posted
by
Post not yet marked as solved
3 Replies
3.4k Views
https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html as per this link Universal links with wildcards working fine, followed steps in this link to apply deep linking to my application but it doesn't work. When clicking on a link in received email, it should navigate to my application but it is opening in safari browser. I have mentioned "*.test.com" as applinks in Associated domains under Capabilities in Xcode and in our web side we have deployed "apple-app-site-association" file in root folder. My server host name like "abc.test.com" and I have mentioned applinks like "*.test.com" this universal links with wildcard feature is not working.I have Enabled ‘Associated Domains’ in my app identifier on developers.apple.com, If I have mentioned applinks like "abc.test.com" then it is working fine. My application Developement target is 9.3.
Posted
by
Post not yet marked as solved
8 Replies
6.8k Views
I am unable to get Universal Links opening in my app despite the fact that it is working for others.I used sysdiagnose to retrieve swcutil_show.txt and it shows the next update time for the entry in my app to be: 0001-01-01 03:54:56 +0000Which is in the past. I can't seem to be able to reset this entry even after uninstalling and reinstalling the app. Is there anyway to clear this entry on my device?I'm not sure how it got into this state, but I hope it's only me and not any of my end users.
Posted
by
Post not yet marked as solved
2 Replies
6.8k Views
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
Posted
by
Post not yet marked as solved
6 Replies
4.1k Views
I have been trying for about two weeks to get Universal links to work in my app VineCrawl. For some reason it always tells me that it cannot parse the association file. However, other tools for testing the association file have no problem. I didn’t sign it since I am targeting iOS 11 and later. A long time ago, I read somewhere that it could be the https cipher that I use, but now I can’t find anything on that. My file is vinecrawl.com/.well-known/apple-app-site-association
Posted
by
Post not yet marked as solved
3 Replies
3.4k Views
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 ?
Posted
by
Post not yet marked as solved
1 Replies
2.5k Views
With the new iOS 13 apple-app-site-association, is there a way to include all urls, but exclude a specific partial path? "components": [ { "/": "/*", "comment": "Matches any URL whose path starts with /" }, { "/" : "/e/*", "exclude": true, "comment": "Exclude matches any URL whose path starts with /e/" }, { "/": "/user/*", "exclude": true, "comment": "Exclude matches any URL whose path starts with /user/" } ] We don't want to have to specify every possible path that our App can handle or include. But we do want to exclude /user/* and /e/* Our above settings are still allowing /user/* and /e/* despite the "exclude" : truedirectives. I think the "/": "/*" is too inclusive. Are we now forced to specify every possible path from root in order to exclude specific ones? The previous format made it easier to match "paths": ["NOT /e/*", "NOT /user/*", "*","/"] Do I need to state the exclude commands first?
Posted
by
Post not yet marked as solved
1 Replies
580 Views
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!
Posted
by
Post not yet marked as solved
1 Replies
955 Views
Hi! We have two apps, both use the Universal Links mechanism, apps should be opened when user read NFC tag. The tag content is a URL link to our domain. After updating to iOS 15, users faced the problem that they constantly see the application selection dialog when reading the nfc tag. How to fix it? Previously, the selection dialog was displayed once and the value was stored. Our aasa file on domain: { "applinks": { "apps": [], "details": [ { "appIDs": ["*.*.app1"], "paths": ["*"] }, { "appIDs": ["*.*.app2"], "paths": ["*"] } ] }, "appclips": { "apps": [ "*.*.app2.Clip" ] } }
Posted
by
Post marked as Apple Recommended
12k Views
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?
Posted
by
Post not yet marked as solved
10 Replies
1.4k Views
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.
Posted
by
Post not yet marked as solved
1 Replies
812 Views
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.
Post not yet marked as solved
2 Replies
1.5k Views
Hi, I am using SwiftUI to code an e-commerce marketplace application. For this, I am using Stripe for the transactions. I have an API call to Stripe for getting the link for displaying in-app WebView of Stripe seller onboarding. This method is called in the following way:  const accountLink = await stripe.accountLinks.create({    account: accountID,    refresh_url: "https://siftresale.com/stripe-refresh-url",    return_url: "https://siftresale.com/stripe-return-url",    type: "account_onboarding",  }); Stripe support validated that this is the correct way to call this method. After calling this method, I get back a URL. Then, I assign this URL to a state variable. The application shows a WebView when this URL is not empty. As you can see in the attachment, I am able to display Stripe onboarding but the redirect is unsuccessful. The way I set up the redirect is by universal links on the two given urls in the above API call. We own the domain for siftresale.com. I have "applinks:siftresale.com" in my domains in Xcode. I have the following apple-app-site-association file in my domain: {   "applinks": {     "apps": [],     "details": [       {         "appID": "53U82H29KZ.edu.princeton.eLab.Sift.SiftApp",         "paths": [ "/stripe-refresh-url", "/stripe-return-url"]       }     ]   } } Using my iPhone, I looked at phone logs and the swcutil_show.txt file contains the following information: Service:              applinks App ID:               53U82H29KZ.edu.princeton.eLab.Sift.SiftApp App Version:          1.0 App PI:               <LSPersistentIdentifier 0x101579660> { v = 0, t = 0x8, u = 0x9dc, db = 9A95A5E5-A416-4FA7-8E02-28C0916C8C0B, {length = 8, bytes = 0xdc09000000000000} } Domain:               siftresale.com Patterns:             {"/":"/stripe-refresh-url/"}, {"/":"/stripe-return-url/"} User Approval:        unspecified Site/Fmwk Approval:   approved Flags:                 Last Checked:         2022-07-24 23:50:57 +0000 Next Check:           2022-07-29 23:47:25 +0000 This makes me think that the universal link is correctly identified by the app. Lastly, on the app I have this code block for responding to the code but nothing prints: ContentView{...}.onOpenURL(perform: {url in     print(" i am here")     let stripeHandled = StripeAPI.handleURLCallback(with: url)     if(stripeHandled){         if let urlComponents = URLComponents(url: url, resolvingAgainstBaseURL: true) {             if let queryItems = urlComponents.queryItems {                 var params = [String: String]()                 queryItems.forEach{                     params[$0.name] = $0.value                 }                 print(params)             }         }     } }) I would really appreciate it any sort of help on this because there are very limited resources on this. Attachment: Screen recording of app behavior https://drive.google.com/file/d/1ttF9deh1iVJ1kaIM58Vg5fosyIoiInsb/view?usp=sharing
Posted
by
Post not yet marked as solved
2 Replies
1.4k Views
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 Chrome and set it as default But 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
Posted
by
Post not yet marked as solved
2 Replies
2.3k Views
The Problem: I am building an app that uses PayPal for payments, and I set up universal links so that the user gets redirected into the app after the user has confirmed the payment at PayPal's site. Universal links are working in general. But here is what I have discovered: The following scenario works: The app opens the nextActionUrl from PayPal using SFSafariViewController. User has to log in and presses the login button. User presses the confirmation button on the PayPal site. PayPal redirects to the return_url that was provided when creating the payment intent. The browser closes, and the user gets redirected into the app. Now when the user has just recently logged into PayPal then PayPal does not show the login page, instead the user has to only press one button. This scenario fails: The app opens the nextActionUrl from PayPal using SFSafariViewController. User does not have to log in and presses the confirmation button on PayPal site. PayPal redirects to the return_url that was provided when creating the payment intent. The browser opens the website behind the universal link instead of redirecting to the app. This scenario also works: The app opens the nextActionUrl from PayPal using SFSafariViewController. User does not have to log in, but actively logs out. User has to log in and presses the login button. User presses the confirmation button on the PayPal site. PayPal redirects to the return_url that was provided when creating the payment intent. The browser closes, and the user gets redirected into the app. This happens consistently and reproducible. Some additional details: I am developing the App using Flutter I set up the Runner.entitlements as follows: ... <key>com.apple.developer.associated-domains</key> <array> <string>applinks:sub.example.com</string> </array> ... I set up the Info.plist as follows for deep links with different schema: ... <key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLName</key> <string>sub.example.com</string> <key>CFBundleURLSchemes</key> <array> <string>web+example</string> </array> </dict> </array> ... I set up the apple-app-site-association file on the website at https://sub.example.com/.well-known/apple-app-site-association as follows: { "activitycontinuation": {}, "webcredentials": {}, "applinks": { "apps": [], "details": [ { "appID": "XXXXXXXXXX.com.example.example", "paths": [ "/*" ] } ] } } To open the urls from Flutter I am using the package url_launcher and simply call await launchUrl(nextActionUrl) What I've tried and what I've learned: I tried many things, before I discovered this consistent behavior. For example: I connected my device to the mac and opened the console for it in xcode to see how the logs look like when it works and how it looks like when it does not work. I found out that when it works there is a log entry that requests the switch to my App from the SpringBoard-process: [Received trusted open application request for <applicationId> from <FBProcess: ...], but in the cases where it does not work there isn't a rejected request or anything. The SafariViewController does not even seem to try to go the universal link route and instead opens the link as a website directly. For even more logs, I pressed and hold the volume buttons and clicked the lock screen button until a haptic feedback occurred. After that, I extracted the syslogs that were generated from the settings/privacy section via AirDrop on to the mac. I took a look at the swcutil_show.txt file and the universal link is definitely set up correctly there. I also skimmed around in the other logs, but I couldn't find anything helpful. I have inspected the url_launcher package to see how it works for iOS and if there may be something wrong, but I didn't really find a problem. I only discovered that the package is using the SFSafariViewController and after some googling I've read the WKWebView would be more suitable, but it didn't seem to be the problem. I googled a lot and found many problems related with setting up universal links correctly, but no topics about universal links sometimes working and sometimes not. The only thing close I found was that a universal link won't redirect you to your app if you type it into safari directly but if you click it for example from an email. The work-a-round that works... After I confirmed that it consistently works after logging in first, my theory was that it needs at least one navigation between opening the PayPal site in the browser and PayPal redirecting to the universal link. To confirm my theory, I created an intermediate page that redirects the user immediately after the load event to the PayPal site, and I was disappointed. It didn't change anything. Then I thought: Maybe it's the User-Interaction that is needed, and I change the intermediate page to only redirect if the user presses a button. And from there on, redirecting to the App using a universal link always worked. But this isn't a nice solution - at max, this is an ugly work-a-round that may help someone. My question(s) Now I am not sure if this is a bug on Apple's side since I didn't find anything on the web or maybe even something strange on PayPal's side? Am I doing something wrong? Did someone experience the same thing and has a solution? Thank you for your time and hopefully for your input on this!
Posted
by
Post not yet marked as solved
1 Replies
697 Views
Hello, I would like to know how universal links work with multiple targets running on a device? I am not sure how to proceed in my work. Clearly, I did not find any documentation on this matter. Can someone help? Thanks!
Posted
by
Post not yet marked as solved
1 Replies
563 Views
Hi There, I have implemented universal links in my app pre-prod and production environments, It's working and redirecting to pre-prod application but not working for production application. I configured domains under associated-domains in entitlements files and deployed AASA file with proper bundle identifiers and validated. Can anybody suggest how I can fix
Posted
by
Post not yet marked as solved
0 Replies
739 Views
I tried adding associated domains from mdm through managed app config I was able to add associated domains to device other than iOS 15 but associated domains not getting added for device with iOS 15. I checked on iOS 15.1 and 15.7 and getting the same error in console log for both. Below are the error from console output. Sandbox: swcd(173) deny(1) file-read-metadata /private/var/containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles/Library/ConfigurationProfiles/MDMAppManagement.plist Error getting enterprise-managed associated domains data. If this device is not enterprise-managed, this is normal: Error Domain=SWCErrorDomain Code=1701 "Failed to get associated domain data from ManagedConfiguration framework." UserInfo={NSDebugDescription=Failed to get associated domain data from ManagedConfiguration framework., Line=298, Function=&lt;private&gt;}
Posted
by
Post not yet marked as solved
1 Replies
529 Views
I would like to add a link on the profile of my users the same as what tiktok has with a link to the users own instagram page. The only difference being on the web version of the users profile there will be additional buttons and functionality. Will that be against any apple guidelines. I don’t know if this would qualify as a universal link or not just FYI.
Posted
by