UIWebView expiration for iOS devices at April 30
baco last edited by
“Apple will no longer accept submissions of new apps that use UIWebView as of April 30, 2020 and app updates that use UIWebView as of December 2020. Instead, use WKWebView for improved security and reliability.”
What are the differences between these and what should we be careful about? Any tips, links will be appreciated. Thank you.
baco last edited by
At least for the plugin, the differences are listed at the README here: https://github.com/apache/cordova-plugin-wkwebview-engine
If you have very specific questions, you might get a better answer creating an issue at the plugin’s GitHub issues page.
khunrobot last edited by
@baco we are battling these issues heavily right now. A prototype which we built long ago, but just recently decided to release, was working fine over past two years, but as soon as we dove into to re-factoring it to utilise WKWebView, we have no end of issues, including now not being able to open external URLs.
Unfortunately, the app runs fine in the Monaca IDE preview, as well as in the debugger, and in a custom debugger we built.
We can get links to open in a clean app built from scratch - so we suspect there must be some cached components or code that are interfering with the build. 2 weeks into troubleshooting, and we are no further than when we started towards fixing it.
Our app works fine, but will no ability to open a system web browser (which should be the simplest thing ever in the whole world. :)
Will be adding a new issue referencing WKWebView - keep an eye open for it.
If your remote API calls are not working, you need to make sure your server implements CORS.
If local XHR calls are not working, try using cordova-plugin-wkwebview-file-xhr instead of cordova-plugin-wkwebview-engine.
If you get the UIWebView deprecated notice from Apple, search for the string “UIWebView” in your plugins. If a plugin is still using UIWebView then you need to use the latest version of the plugin if the maintainer has removed UIWebView code, or disable the plugin. (Note occurences of the string UIWebView in cordova-plugin-wkwebview-engine are fine - you can and should keep that plugin enabled.)