I don't think any of these are strictly limited to Safari. As far as I can tell, every feature you mention could be implemented by the third-party browsers.
> Only Safari can have extensions
The Orion browser [1] supports extensions, although I suppose the App Store rules could prove to be a problem with executing arbitrary code as it hasn't run through the full review process yet.
> only Safari can have iOS Content Blockers
Brave blocks content and ads.
> only Safari supports Screen Time
There is new API [1] for this and I believe everything you mentioned is available to developers, although I haven't used it myself.
> only Safari is allowed to launch apps
This should be possible to implement by checking the `.well-known/apple-app-site-association/` and calling `openURL:` on matches. It might be difficult to know for sure if some apps were installed or not, but that doesn't seem to be the key issue here.
[2]: https://developer.apple.com/documentation/deviceactivity/dev...
A prototype with support for extensions already went through full review process https://apps.apple.com/us/app/kagi/id1484498200
I've been enjoying Orion a lot so far. Thanks for all of your work on building something new!
Reimplemented. iOS builds these mechanisms in, but many (seemingly) can't be used by other browsers.
> The Orion browser [1] supports extensions, although I suppose the App Store rules could prove to be a problem with executing arbitrary code as it hasn't run through the full review process yet.
Safari Extensions, from the iOS App Store, have a UI optimized for iOS/mobile. I tried installing 1Password for desktop Chrome on Kagi mobile, didn't work since it couldn't communicate with the 1Password iOS app (might be a problem on Kagi's end though). 1Password's iOS WebExtension seemingly only works with Safari.
> Brave blocks content and ads.
Not through iOS Content Blockers; Brave had to reimplement that. BTW, Brave on Android lets you add custom filters, but doesn't on iOS; not sure if that's Apple's fault.
> There is new API [1] for this and I believe everything you mentioned is available to developers, although I haven't used it myself.
Hadn't seen this, thanks.
> This should be possible to implement by checking the `.well-known/apple-app-site-association/` and calling `openURL:` on matches. It might be difficult to know for sure if some apps were installed or not, but that doesn't seem to be the key issue here.
Interesting. It's sad though that of all browsers I've tried, none supported this; it's a sad statement on the quality of non-Safari browsers on iOS.
https://developer.apple.com/documentation/xcode/preparing-yo...
> Apps that have the com.apple.developer.web-browser managed entitlement may not claim to respond to Universal Links for specific domains. The system will ignore any such claims. Apps with the entitlement can still open Universal Links to other apps as usual.