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

91 Posts
Sort by:
Post not yet marked as solved
1 Replies
1.1k Views
I updated the app bundle ID of my app in my associated domains file on my server which can be viewed using the Apple CDN at (https://app-site-association.cdn-apple.com/a/v1/myApp.app) and on my server at (https://myApp.app/.well-known/apple-app-site-association). All I did was update the app Bundle ID of my app in Xcode and likewise in the associated domains file, and now it is no longer working and I'm getting the error Application with identifier ABCDE12345.app.myApp.MyApp is not associated with domain myApp.app. This error is thrown when attempting to use the webcredentials portion of the associated domain file for logging in via Passkey. I've waited for 6 days to let the changes propagate through the CDN but the issue is persisting. Strangely enough, it has worked a few times since I changed it but almost always fails. This intermittent behavior leads me to believe it might be something up with the CDN? The only thing I changed about my appID was the domain, e.g. ABCDE12345.io.oldDomain.MyApp to ABCDE12345.app.myApp.MyApp. My file is structured as so: { "applinks": { "apps": [], "details": [ { "appID": "ABCDE12345.app.myApp.MyApp", "components": [ ... ] } ] }, "webcredentials": { "apps": [ "ABCDE12345.app.myApp.MyApp" ] } } Likewise I updated the entitlements in my app to webcredentials:myApp.app from webcredentials:oldDomain.io and similarly for the appLinks. I've tried deleting the app, restarting Xcode, clean builds, all that jazz to no avail. Any advice you have for remedying this would be greatly appreciated. This has brought my beta to a halt because no one can log in or sign up. Thank you.
Posted Last updated
.
Post not yet marked as solved
0 Replies
492 Views
I'm having some issues regarding iOS Universal Links and Unity. I want to open my app and fetch the user id when user clicks on the deep link https://refer.mydomain.com/?userid=123456. I have uploaded the apple-app-site-association file to my domain's https://refer.mydomain.com/.well-known/ directory which contains the following data: { "applinks": { "apps": [], "details": [ { "appID": "ACBJSD1234.com.******.*****", "paths": ["*"] } ] } } I have also tried this syntax: { "applinks": { "details": [ { "appIDs": [ "ACBJSD1234.com.******.*****" ], "components": [ { "/": "*" } ] } ] } } I have validated both the data using https://branch.io/resources/aasa-validator/ and it shows as valid. I have also added the Associated Domain capability to the entitlement file with the domain: applinks:refer.mydomain.com. Now I have used the event listener provided by Unity to detect the deep link that is used to open the app. Now the thing is, my app is getting opened when I click on the link, but I'm not getting the deeplink data inside Unity. My doubt is that maybe my apple-app-site-association file is not properly set. Can anyone help?
Posted Last updated
.
Post not yet marked as solved
9 Replies
2.1k Views
Hi support team, We have implemented Deeplinks in our app before. But when I tap the universal link from a browser (in iOS 16.4 & iOS 17.1.1), it doesn't work, it directly opens the page on a browser. I tested it on iOS 16.2 & iOS 17.0, it is working fine, it was able to open the app. Do you have any idea why it is not working on iOS 16.4 & iOS 17.1.1 (latest OS) but it is working on other OS versions? Can you please guide me on how to fix this issue. Thanks.
Posted
by RonaldASB.
Last updated
.
Post not yet marked as solved
0 Replies
510 Views
Problem : Deep links are not directing users to the intended apps, instead, they are redirecting to the respective apps on app store. When clicking on a deep link in private mode, it consistently displays a prompt to open the application or cancel. If the "Cancel" button is selected on the prompt, it redirects to the app store via a deep link to open the specific application, on next time onwards we are not receiving the prompt to open application, every time it get redirects to the appstore via merchant link automatically. In other case if we click open button on the prompt , it redirects to the application, Subsequently, each time we click the deep link, it repeatedly prompts us to open the app. Why do the "Open" and "Cancel" buttons lead to different outcomes in these scenarios? How can we ensure that the application always opens when clicking on the deep link, if it is in private mode as well?
Posted
by YuvarajS.
Last updated
.
Post not yet marked as solved
2 Replies
3.5k Views
Documentation says that apple-app-site-association file needs to be accessible via HTTPS—without any redirects.However practice shows, that when this file accessible via redirect, Universal Links are working.Is documentation outdated?Can we rely on this behaviour?
Posted
by TimurKhay.
Last updated
.
Post not yet marked as solved
5 Replies
1.2k Views
Hi, I am running into a strange issue where my universal links work fine on devices when using USB, simulators and TestFlight, it works with no problem on all test environments But once I submit it for App Review, they don't work. And I have no way to replicate it. At some point they get it working somehow but every resubmission the process repeats where I go back and forth for days until they finally get it working. Anyone run into this strange issue or has a clue what might be going on?
Posted
by Dmib.
Last updated
.
Post not yet marked as solved
0 Replies
359 Views
Good day, I have an application that opens links in various browsers available on the device. For this reason, I want to make the app eligible to be chosen as the default browser. To do this, I reviewed the Apple article at this link: https://developer.apple.com/documentation/xcode/preparing-your-app-to-be-the-default-browser. However, unfortunately, I still haven't figured out how to do it. The article mentions that you need to send an email request. I sent an email, but my message was ignored. Dear colleagues or Apple staff, could you please explain in the most detailed and step-by-step manner how I can make my app available to be set as the default browser? I would greatly appreciate it because, unfortunately, this question isn't widely discussed in the community, and there are no videos with step-by-step guides. Thank you very much!
Posted Last updated
.
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 Last updated
.
Post not yet marked as solved
4 Replies
984 Views
Hi We locate the file apple-app-site-association on both https://ourdomain.com/apple-app-site-association and https://ourdomain.com/.well-known/apple-app-site-association By visit this two urls, we are able to get file content through browser. We are able to get the file content through https://app-site-association.cdn-apple.com/a/v1/ourdomain.com with US based IPs, Europe based IPs. However, if we visit this url with Asia based IPs, we always got 404 with content Not Found. Some work CDN nodes: < Via: http/1.1 ussjc2-vp-vst-009.ts.apple.com (acdn/14319.5), http/1.1 ussjc2-vp-vfe-002.ts.apple.com (acdn/14319.5), https/1.1 usscz2-edge-lx-004.ts.apple.com (acdn/14319.5), https/1.1 usscz2-edge-bx-033.ts.apple.com (acdn/14319.5) Via: http/1.1 ussjc2-vp-vst-009.ts.apple.com (acdn/14319.5), http/1.1 ussjc2-vp-vfe-002.ts.apple.com (acdn/14319.5), https/1.1 usscz2-edge-lx-004.ts.apple.com (acdn/14319.5), https/1.1 usscz2-edge-bx-033.ts.apple.com (acdn/14319.5) which return file content in apple-app-site-association with response code 200. Some not work CDN nodes: < Via: http/1.1 jptyo5-vp-vst-014.ts.apple.com (acdn/84.14362), https/1.1 jptyo5-vp-vfe-006.ts.apple.com (acdn/84.14362) which return Not Found with response code 404. When use Asia based IPs, we also got some error response header: < Apple-Failure-Details: {"cause":"context deadline exceeded (Client.Timeout exceeded while awaiting headers)"} < Apple-Failure-Reason: SWCERR00301 Timeout Example request with IP in Japan: > GET /a/v1/ourdomain.com HTTP/1.1 > Host: app-site-association.cdn-apple.com > User-Agent: curl/7.86.0 > Accept: */* > * Mark bundle as not supporting multiuse < HTTP/1.1 404 Not Found < Content-Type: text/plain; charset=utf-8 < Content-Length: 10 < Connection: keep-alive < Server: nginx < Date: Mon, 21 Aug 2023 12:45:02 GMT < Expires: Mon, 21 Aug 2023 12:45:12 GMT < Age: 608 < Apple-Failure-Details: {"cause":"context deadline exceeded (Client.Timeout exceeded while awaiting headers)"} < Apple-Failure-Reason: SWCERR00301 Timeout < Apple-From: https://ourdomain.com/.well-known/apple-app-site-association < Apple-Try-Direct: true < Via: http/1.1 jptyo5-vp-vst-014.ts.apple.com (acdn/84.14362), https/1.1 jptyo5-vp-vfe-006.ts.apple.com (acdn/84.14362) < X-Cache: MISS KS-CLOUD < CDNUUID: 03f2e102-fa68-4a5f-bc93-0e151a3dfc64-773587498 < x-link-via: ziyct01:443;xymp07:443;gzun11:443;xg02:443; < x-b2f-cs-cache: no-cache < X-Cache-Status: MISS from KS-CLOUD-XG-02-03 < X-Cache-Status: MISS from KS-CLOUD-GZ-UN-11-06 < X-Cache-Status: MISS from KS-CLOUD-XY-MP-07-15 < X-Cache-Status: MISS from KS-CLOUD-ZIY-CT-01-09 < CDN-Server: KSFTF < X-KSC-Request-ID: 0afe4d526afd86918a55a0640d2b75f3 < X-Cdn-Request-ID: 0afe4d526afd86918a55a0640d2b75f3 < Not Found
Posted
by xring.
Last updated
.
Post not yet marked as solved
0 Replies
279 Views
Hi folks, we are stuck with new universal links on our domains, in particular we should open links for APAC market. Our site domain has non-latin chars in the path and so even the universal link should contain those values, e.g. https://www.my-site.com/jp/レディース app-association-file 👇🏻 "/??/άνδρας" "/??/γυναίκα" "/??/レディース" Unfortunately they dont work, in any scenario we are not able to open the app. Do you know about a OS limitation with non-latin chars in the UL? Is it supported?
Posted Last updated
.
Post not yet marked as solved
8 Replies
6.9k 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 jwong.
Last updated
.
Post not yet marked as solved
1 Replies
1.3k Views
Hi! I've been hitting a wall trying to test universal links on the iOS Simulator and/or a real device. I'm using expo EAS dev builds. I'm fairly confident the AASA file config and hosting is done correctly. I have tried both the ?mode=developer and standard. Unfortunately, I can't seem to get past the following error picked up from swcd process in the console app: 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=-[SWCEnterpriseContext(CPMCInterop) _loadEnterpriseData]} This is the same on both the simulator and a device - built using the appropriate EAS build config and Xcode 15. This is on an iOS17 iPhone 15 Simulator, and iOS16 iPhone 11 device with developer mode 'On' in settings (even though swcd logs say otherwise for some reason- Developer mode enabled: No) Am I missing a setting on the simulator/device or something else? I did see mentions of an Associated Domains Developer setting, but I'm unable to find this on the device/simulator iOS16/17. Would appreciate any help on this!
Posted
by apetta.
Last updated
.
Post not yet marked as solved
1 Replies
969 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 RSolod.
Last updated
.
Post not yet marked as solved
1 Replies
303 Views
The App Search Validation Tool is down and I need to use it to validate my apple-app-site-association file to use deep linking. https://search.developer.apple.com/appsearch-validation-tool/ Can anyone else confirm that this site won't load?
Posted
by JEricaM.
Last updated
.
Post not yet marked as solved
2 Replies
996 Views
We have been testing universal links and detected the following: Assuming there is an HTML with embedded JS that redirects to the universal link. **Direct redirection --> WORKS OK ** window.location.href = "https://my-universal-link?data=abc"; Redirection with timeOut or Interval --> NOT WORKING (go to default WEB) setTimeout(function () { window.location.href = "https://my-universal-link?data=abc"; }, 2000); setInterval(function () { window.location.href = "https://my-universal-link?data=abc"; }, 2000);
Posted
by l0510532.
Last updated
.
Post not yet marked as solved
1 Replies
823 Views
Hi everyone! Tried to find out the solution by myself, but I failed =) Problem: I have one app on both iPhones, but the url_scheme works differently on them. 1 phone: Click at web link to the app – opens app 2 phone: click at web link to the app – opens web version. Tried to find info in logs, but didn't find answers there. Associations works correctly, cause on other phones everything works fine. Can you please help me to find out the reason? Maybe some info about what I need to search in logs or maybe you've faced the same problem.
Posted Last updated
.
Post not yet marked as solved
0 Replies
334 Views
I'm building a project in react with typescript that involves reading a QR code, what happens to iPhone users is that the QR code is read from the iPhone's code reader and the link opens in a web preview of the reader application of codes, this link opens a page with two buttons where the user will choose whether to open the next link in which browser, for example, firstly when he chose to open with safari I would leave the link like this: https://mysite.ao/home/23883298393232/ueuweyuwe7 The problem is that this way the link also opens in the web-preview, I want it so that when I choose to open with safari this link opens specifically in safari I tried to do it this way: `function openToSafari() { window.open('safari://mysite.ao/home/23883298393232/ueuweyuwe7', '_blank'); }` The problem is that when you do this the following message appears: "Safari cannot open the page because the address is not valid" But if the user chooses to open with other browsers, the link opens very well, but if they choose Safari it does not open and gives this message. Could anyone give an explanation of how I could overcome this? Thank you very much in advance! To open with Chrome, I'm doing it this way and it works very well: function openToChrome() { window.location.href = googlechrome://mysite.ao/home/23883298393232/ueuweyuwe7 } I want it so that when I choose to open with safari this link opens specifically in safari The problem is that when you do this the following message appears: "Safari cannot open the page because the address is not valid"
Posted
by Helineth.
Last updated
.
Post not yet marked as solved
2 Replies
2.4k 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 Last updated
.
Post not yet marked as solved
0 Replies
480 Views
Recently, it has been discovered many times that after newly installing the mobile cloud disk APP on the IOS system, the universal link c.139.com (for example: https://c.139.com/m/a/s/?p=L1t4) cannot be used. Pull up directly. After our internal monitoring and analysis, the situation is as follows: Monitoring data shows that recent visits to Apple’s CDN configuration files (https://app-site-association.cdn-apple.com/a/v1/c.139.com, https://app-site-association.cdn -apple.com/a/v1/yun.139.com), a 404 error is often reported, that is, obtaining the configuration file from Apple CDN back to the source c.139.com and yun.139.com fails. The number of alarms is 2-3 times a day, and each time lasts for 1-2 hours. As a result, newly installed or upgraded IOS mobile cloud disk clients during the corresponding period cannot pass c.139.com and yun.139.com. The domain name directly launches the APP. After our operation and maintenance inspection, there are no abnormalities in the c.139.com server file configuration and network, and the universal link of the client's project configuration is also correct. We need Apple's help to check whether there are any abnormalities in the routing of Apple's CDN nodes to 117.161.4.213, and to check whether there is instability in the CDN nodes. Thank you so much.
Posted
by duola.
Last updated
.