Wipr 2 is a complete rewrite and was released in Nov 2024. So, in theory, for £1.99 you could've gotten 9 years of ad-blocking on iOS and for another £1.99 the same on macOS for 6 years.
And since this requires maintenance of the blocklists and associated code, I am totally fine with paying a small amount once every few years. And I'm not even forced to pay as the older versions usually continue to run - albeit on life support.
That said, I'm not actually convinced there will be a Wipr 3, at least not without some significant change to the ecosystem first. Wipr 2 was a complete rewrite of Wipr, there's no reason to expect it will need yet another complete rewrite.
I don’t remember what those advantages were, except that I was persuaded thst they seemed like good ideas.
Sorry. I know that couldn’t be more vague if I tried.
Every time this happens, I tell myself, “maybe it’s time to try and android phone”
In your specific case you have to look very carefully in the Android world to avoid an even worse situation. I think there are a few Android models now that promise several years of updates, remains to be seen, though. If this is your beef with Apple, then I doubt you will feel much better with Android.
So that commenter must not have those generations and your comment doesn't help.
iPhone SE (1st generation) [2016] is stuck on iOS 15 but still receiving security updates, like 15.8.4 from the spring.
This situation with iOS sounds as ridiculous as if it was mandatory to upgrade from Windows 10 to Windows 11 in order to update the Edge browser. (Edited to remove useless rant)
2nd edition here, and I updated to 18.6 days ago.
This is based on my personal observation of different devices. I could be wrong.
If you ask yourself why there are so little Safari extensions, this is why.
edit: I look at the code now... I needed to wrestle with BOTH cocoapods and npm, at which point I gave up
That’s not my experience (in the admittedly only browser extension I’ve ever written).
After getting it working to my satisfaction in Chrome and Firefox, I created the Safari macOS/iOS versions by running
$ xcrun safari-web-extension-converter --bundle-identifier <bundle ID> .
in my repo. Then I opened xcode, configured the signing/capabilities, and built it. IIRC I had to create the directory for the output because xcode didn't do it itself, but once that was done I could install it to both macOS and iOS. Honestly I was surprised it was so little effort. I don’t doubt that an extension with more functionality than mine might require a jumping through a lot more hoops, but it definitely can be easy to successfully target Safari IME.https://developer.apple.com/documentation/safariservices/cre...
Here they talk about the "container" that needs to be in Swift/Obj-C. I remember I used to have some problems with the "container" application
I think the issue starts to be when you want your extension/app to have any kind of settings that is retained? I don't remember, really.
I note that they say the command has changed from the one I used, it’s now:
xcrun safari-web-extension-packager
My extension has storage/settings, and it works fine. I have edited no Swift code at all.The whole point of Apple, one could say, IS to make sure to forcibly make you update to access a new feature. That way either you can update or you've got to buy a brand-new device.
Whether it's technical or social the situation on iOS is clearly inferior.
This is actually really funny because Android users have had the ability to use any browser they want for like a decade+, including browsers with adblock built in, and browsers with fully featured extension systems supporting all major desktop ad blockers, and it all just works. One click download, no setup, nothing.
This is one of those places where Apple has intentionally made a terrible UX for you to steer you into their walled garden / first party products. You have to use Safari, you have to dig around in settings, you have to make sure your versions all line up, it's pointless rigamarole that will mean the majority of users stick with stock Safari, just as intended.
In many ways, things "just work" on any platform Apple product managers aren't allowed to muck with...
I’ve made several Safari extensions for iOS, and they all have to do this.
Apple provides no API for an app to enable its own Safari extension. It also has no public API on iOS to deeplink to the Settings page for enabling the extension. You just have to tell users where to go and hope they don’t get lost.
(There is an API on macOS to quickly open Safari extension settings. It’s nice! Maybe they’ll add it to iOS someday.)
1) Because then you need a whole parallel set of processes for configuring, updating, and uninstalling those things, distinct from the existing processes for apps. And you need to make that process accessible to users who may be used to everything being an app.
2) A nontrivial number of browser extensions on iOS are part of standalone apps anyway, like password managers or bookmarking tools. It'd be very strange to have both app-with-browser-extensions and browser-only-extensions, or to require some extensions to be installed and updated in tandem with a companion app for expected functionality.
> This feels like a series of failures
Your "device" is too old, because you failed to pay Apple recently enough.
The download button is available. Great! Finally I can block ads in mobile too.
It installs, opening it is a simple message saying I need to enable it in Safari settings. Strange, but ok.
I go to Settings -> Safari -> Extensions -> uBlock Origin Lite.
> “uBO Lite” is not available for this version of Safari.
This feels like a series of failures, why is it available for download on iPhone if it doesn’t work at all? Is iOS Safari really that different to Mac Safari?