timbru31 commented on a change in pull request #1096: URL: https://github.com/apache/cordova-docs/pull/1096#discussion_r456779906
########## File path: www/_posts/2020-07-18-uiwebview-warning.md ########## @@ -0,0 +1,42 @@ +--- +layout: post +author: + name: Niklas Merz + url: https://twitter.com/niklasmaerz +title: "UPDATED: How to handle the 'Deprecated API Usage - UIWebView' warning while uploading to the App Store" +categories: howto +tags: ios +--- + +We recently posted [instructions](/howto/2020/03/18/wkwebviewonly.html) how to update your apps to remove all `UIWebView` references, because Apple now rejects all apps using `UIWebView`. + +We are talking about this warning: + +> ITMS-90809: Deprecated API Usage - Apple will stop accepting submissions of apps that use UIWebView APIs. + +Some things have changed and new versions of cordova-ios have been released since the last post. + +<!--more--> + +## Update cordova-ios to version 6.0.0 or newer + +Please update to the latest cordova-ios version to get the best compatibility with recent iOS changes. As of this writing the current version is 6.1.0. Version 6.0.0 of cordova-ios moved `WKWebView` support into cordova-iOS and removed `UIWebView` code. Due to this change, the `cordova-plugin-wkwebview-engine` plugin is obsolete and will not work with this release. If you have this plugin installed, it is safe to remove with `cordova plugin remove cordova-plugin-wkwebview-engine`. + +Additionaly, `WKURLSchemeHandler` support has been introduced with this release. Using a custom scheme to serve your app content through fixes CORS issues that exist because of the strict security policies that `WKWebView` has applied to the `file` scheme. You can easily configure your Cordova project to use a custom scheme by setting the preference options `scheme` and `hostname` in the `config.xml` file. + +```xml +<preference name="scheme" value="app" /> +<preference name="hostname" value="localhost" /> +``` + +It is important to know that with the introduction of `WKURLSchemeHandler`, iOS 10 support has been dropped. + +## Still getting the warning? + +If you are still getting the warning, it is most likely one or more plugins in your project are still references `UIWebView`. You will need to identify which plugins and contact those plugin's developers through their support channel (plugin's repo). They will need to fix their plugins by either remove the references or wrap them with the new flag. + +## Using other WKWebView plugin + +The official Apache WKWebView plugin is no longer need with these cordova-ios versions since WKWebView has been integrated and UIWebView is removed. There are other WKWebView plugins that can be used. Make sure they have been updated and use the latest version. If you have any issues or usage questions with their plugins, please read their docs and request help through their support channels. Review comment: ```suggestion The official Apache WKWebView plugin is no longer needed with these `cordova-ios` versions since `WKWebView` has been integrated and `UIWebView` is removed. There are other WKWebView plugins that can be used. Make sure they have been updated and use the latest version. If you have any issues or usage questions with their plugins, please read their docs and request help through their support channels. ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
