Default browser on iOS?

Apparently it’s possible these days to change the default browser on iOS if you disable Safari in Restrictions and the browser is registered to take over WWW URL schemes. Here’s a link about how another browser does it:

Is it possible for this to be done for Brave? I just restricted Safari and links no longer did anything at all, but possibly Brave just needs to register the URL schemes.

2 Likes

Hi @augmentedfourth,

You can’t change default browser on iOS due to Apple’s iOS limitation.

But maybe this one can help https://github.com/brave/browser-ios/wiki/End-User-FAQ

Thanks!
:slightly_smiling_face:

Thanks, @eljuno.

Did you read the link I sent, though? Apparently, if Safari is disabled via Restrictions, another app set to claim the http/https URL schemes can pick them up and act as a default browser. When Safari is present it will definitely be the default, but if it gets disabled another app can claim them (just as the UpTime Web Browser does in the article).

Could you set Brave to be able to act in that way?

1 Like

Hi @augmentedfourth,

Just wanted to let you know that I’ve circulated this internally and the iOS team has been looking into it. Thanks a ton for this suggestion. We also see your submission on GitHub.

Best,
Chris

3 Likes

This is really fascinating. Wondered if there were work around likes this. Apple is pretty restrictive of registering common schemes for specific app usages (we attempted something similar for some adblock features). Talking to the product team, we are currently not going to pursue any workarounds like this, until there is a bit more clarification from Apple. Setting a default browser on iOS is explicitly restricted, and hacking around this restriction is not a risk we are currently willing to take.

I hope you understand, and again, thank you for sharing!

You’re going to ask Apple’s permission??

Note that in any app it is possible to change the handler for http{,s} requests. Google does this with google apps, directing everything to Chrome:

… Google apps do provide the option. When you tap a link in an app made by Google, it’ll open in Chrome. If you live in Google ecosystem (Chrome, Inbox, Keep, Maps, YouTube, Translate, Photos, Docs/Drive, Calendar, etc) you may even completely forget the built-in apps are there.

So why not institute the solution that the UpTime browser has used to direct those requests globally to Brave?

@diagonal Google apps do this solely by registering custom schemes (e.g. gmail:// chrome://), we currently have brave:// registered, so you can certainly use this, and can see this at work in certain apps like LastPass that allows you to set Brave as a default browser. Google apps do this by calling into these custom schemes, not by swapping out a global handler.

Using work arounds like registering the HTTP/HTTPS schemes are strictly forbidden by Apple:

You cannot claim support for some well-known URL schemes, including http , https , mailto , tel , sms , facetime , and facetime-audio.

We are aware of the solutions other browsers currently leverage, but at this time are not interested in utilizing these workarounds.

1 Like

FWIW, I’ve created a new browser recently in order to test out this feature. https://apps.apple.com/us/app/gherkin-new-default-browser/id1476254336?ls=1

It adds ‘http’ & ‘https’ URL schemes in Viewer mode, and also instructs the user on first launch about how they’re able to disable Safari and effectively change the default browser.

The app name is ‘Gherkin - New Default Browser’ which I figured would at least catch the eye of Apple during the review process, and even mentioned changing the default browser from Safari in the app description, but it’s been approved.

Obviously, the browser is made by an independent developer, so it wouldn’t gain as much traction/spotlight as larger browsers such as Chrome, Firefox (even Brave), so maybe it’s worth trying out the feature in a later release?

1 Like

Could you try and implement a function into that app that will simply respond to HTTP/S requests with the appropriate browser? As example Chrome://, Brave:// and so on?
Since it’s already approved I guess this could work and in case Apple takes it down those who were lucky enough to download it quickly would have some luck still.

You mean adding the URL schemes for Chrome & Brave in order to open up those links in my app?
It’s possible. For example, there’s an app called UpTime (https://www.producthunt.com/posts/uptime-3) that opens makes use of http/s & Chrome:// in order to open URL links in Chrome by default (once Safari is disabled).

So, it could be possible to add some option within my browser to set the default browser depending on what’s currently installed on the device, and then forward the links to whatever browser has been selected.

Yeah, would be awesome. UpTime actually wants money for that which is kinda shady tbh… I guess news sites would go wild about your app then :slight_smile:

This topic was automatically closed after 365 days. New replies are no longer allowed.