UIApplication.canOpenURL not working without Safari

If I delete Safari and only have another browser installed on my device, UIApplication.shared.open does not work. I think this is a bug. Why would it not work?

If Safari is not the main browser, UIApplication would open the URL in my main browser.

Those are valid use cases.

I would expect this API to work with any browser...

iOS 26.2 iPhone 14 Pro

guard let url = URL(string: "https://www.apple.com") else {
      return
}

if UIApplication.shared.canOpenURL(url) {
      UIApplication.shared.open(url)
} else {
      print("Could not open URL")
}

... and yes apparently you can completely delete Safari from iOS 26.0. Is this a bug as well, I don't know. What I know is that some of my users are blocked in my app because of this.

We've been receiving reports from customers as well. Our app (2.5M users) is opened through a universal link & after the flow has been completed, calls the partner app with another universal link. I've been receiving numerous reports from users that this redirect isn't working when the default browser is not Safari (not just being deleted).

Thank you for sharing your experience with Universal Links. I find it intriguing. However, I would like to clarify that other browsers may not implement the Universal Links functionality, and they are not required to be your default browser. Therefore, I always recommend testing the URL with the Note apps, for instance, to ensure that it opens the app registered with the Universal Link. So may I ask more information about what you are trying to accomplish and how you test it?

Universal links are designed to open directly in the corresponding app if the app is installed. If the app is not installed (or if things are configured incorrectly), the universal link should gracefully fall back to opening in the browser (usually the default browser).

How do you test? Do you try to send the same universal link to the app directly using the default browser, outside the context of your app's flow or do you open it from notes, messaging, or some other interface. See if it works. This helps determine whether it's truly an app-to-app interaction issue or something else.

Does it work when the default browser is Safari? If so, the issue is highly likely related to non-Safari browser behavior. Also I put the link to the troubleshooting Tech Note below to validate your AASA file. Use the Tech Note validation tools. Ensure the domain and URL path prefixes used in your universal links match your AASA file.

By systematically going through the Tech Note steps, checking the configuration you'll greatly increase your chances of resolving the issue and providing a better user experience. Good luck!

TN3155: Debugging universal links | Apple Developer Documentation

Looking forward to your answer.

Albert Pascual
  Worldwide Developer Relations.

Hi Albert,

We were also intrigued by this incident and went ahead and called up the customers affected by it. All the clients had installed iOS 26.2.x. With their feedback, we could reproduce the issue: (EU region, iPhone running 26.2.1)

  1. Install an alternative browser, such as Chrome
  2. Long press on the Safari icon and choose "Remove app"
  3. Make the alternative browser default
  4. Open an app that does a redirect to an external url -> redirect no longer works

Reinstalling Safari fixes the issue again.

Hi Albert,

Thank you for the reply.

I don't think the issue is related to universal links, as I am not trying to redirect to my app/any app specifically. I am trying to open an URL from my app, which should redirect the user to any browser that is installed on the user's device.

This is what I would expect UIApplication.shared.open("https://www.apple.com") to do.

I added a hotfix, by prefixing the URL with known browsers' universal links, but that is not really scalable and it won't cover all browsers.

Example:

UIApplication.shared.open("knownAppScheme://www.apple.com")

The Notes app opens https://www.apple.com successfully in any other browser even if Safari is not installed on a device using iOS 26.0+.

Thanks for your post and interesting on your comment about:

Long press on the Safari icon and choose "Remove app"

If you make the system avoid using Universal Links by telling how to handle the link.

Since you mentioned universal links, make sure there's no conflict with any custom URL schemes defined in your app's . Universal links should ideally not interfere with opening URLs in a browser unless specifically set up to redirect to an app. 
Since you observed different behavior on iOS 26.0+, double-check whether this is related to a beta version or a specific OS bug. Review Apple's release notes or beta forums for any related issues and consider filing a bug report if necessary.

Ensure you're testing on various devices and simulators, as sometimes configuration or environment-specific issues can cause unexpected behavior.

But I’m wondering if you are disabling the link itself, you can see that on the swctutils file search for the link itself inside that file. Can you publish the results?

I would like to install your app and use one of the universal links to see how it behaves without safari. Thanks for providing all this.

Albert Pascual
  Worldwide Developer Relations.

UIApplication.canOpenURL not working without Safari
 
 
Q