App Store to Ban Deprecated UIWebView
Apple (via John Wilander):
If your app still embeds web content using the deprecated UIWebView API, we strongly encourage you to update to WKWebView as soon as possible for improved security and reliability. WKWebView ensures that compromised web content doesn’t affect the rest of an app by limiting web processing to the app’s web view. And it’s supported in iOS and macOS, and by Mac Catalyst.
The App Store will no longer accept new apps using UIWebView as of April 2020 and app updates using UIWebView as of December 2020.
I’m not sure how things are on iOS, but on the Mac WKWebView
is not yet able to fully replace WebView
, even if you rewrite lots of delegate methods in JavaScript.
For my app (@hypeapp), the WebView DOM APIs are quite integral and I am waiting for an performant equivalent in WKWebView.
[…]
UIWebView on iOS was always pretty limited, but on macOS they deprecated hundreds of APIs without any suitable replacements!
I did make a bridge as an experiment that replaced the DOM APIs, but performance was crap since it needed to use JS.
Presumably Apple knows this—and has experience with some of the issues from Mail—and so won’t be so hasty with the transition on the Mac.
Personally, I don’t think WebView
should have been deprecated at all until it had a suitable replacement. It feels like it’s setting up a situation where Apple is going to ban it, saying “We deprecated it a long time ago and gave you years to switch,” when it was only actually possible to switch for a short time.
Previously:
- WKWebView Scroll Position
- WebView and UIWebView Deprecated in Favor of WKWebView
- WKWebView Workarounds
- WKWebView, Sandboxing, and Searching
- WKWebView
Update (2019-12-26): David Kilzer:
NOW is the time to submit enhancement requests or bug reports if you can’t use WKWebView to replace use of WebView (macOS) or UIWebView (iOS) in your apps! Reply with Feedback Assistant or Radar IDs here and I’ll make sure they are seen.
i talked directly to people. i have filed mutiple radars. well over a year ago.
the limitations are profound and obvious.
they say they’re taking feedback, but I’m not optimistic that they’ll do anything with that feedback.
Last I tried, proper printing support on Mac isn’t possible with WKWebView but works flawlessly with WebView. Spent an entire day trying to figure this out back in March. Forums all agree it’s broken in WK 😞
Update (2020-01-24): David Dunham:
OK, I am finally trying to switch. It is not looking good — one of my views displays way too small, and neither use the custom fonts that with UIWebView “just worked.”
I managed to handle that (hacking HTML and CSS). Now I am stuck with a much less responsive app. Probably because I have to spin up two new processes to handle the WKWebViews.
Update (2020-01-30): Bogdan Popescu:
I’ve decided to discontinue Dash for iOS, as maintaining it is no longer sustainable. […] Dash for iOS also uses
UIWebView
extensively, which won’t be accepted on the App Store starting with April 2020. Migrating toWKWebView
would be more work than it’s worth.
Update (2020-05-06): Steve Tibbett:
Apple is enforcing the
UIWebView
deprecation today on uploads (not submissions) of binaries for unreleased apps. We depend on an SDK from a third party that fixed theUIWebView
deprecation in a major, breaking SDK update. Surprise!
Update (2020-10-09): Apple:
And last year, we announced that the App Store will no longer accept app updates containing UIWebView as of December 2020.
However, to provide additional time for you to adopt WKWebView and to ensure that it supports the features most often requested by developers, this deadline for app updates has been extended beyond the end of 2020. We’ll let you know when a new deadline is confirmed.
Will this become another requirement like App Transport Security that kinda just disappears?
Previously: